<div dir="ltr"><div>Cleaning up the <fieldValue>s that didn't have a value indeed removed the errors found in Castle tools.  But the animations still didn't work in X3DOM, Castle or FreeWRL.  Thankfully, the animations still worked in Sunrize and X_ITE Playground.  Whew!</div><div><br></div><div>Also, there's no animation here that I can see, as previously reported</div><div><br></div><div><a href="https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d">https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d</a></div><div><br></div><div>There appears to be some kind of event loop in log using the following URL, which I couldn't capture yet, when using FreeWRL launcher, using the following URL:</div><div><br></div><div><a href="https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d">https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d</a></div><div><br></div><div>Later attempts did not produce any repeated log messages.</div><div><br></div><div>Hopefully, with this example of HAnimDisplacers that doesn't throw errors, we can soon see HAnimDisplacers in Castle.  Further issues found in my example are welcome!</div><div><br></div><div>John</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Feb 5, 2025 at 10:16 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Okay, that’s much clearer.  Hopefully others can weigh in.</div><div dir="auto"><br></div><div dir="auto">I’ll try removing the offending <fieldValue>s.</div><div dir="auto"><br></div><div dir="auto">John<br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, Feb 5, 2025 at 5:01 AM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
Again, sorry for not following this thread as a whole -- I'm<br>
admittedly commenting only on a subset of this thread mentioning<br>
castle-model-xxx tools :)<br>
<br>
As for this statement "These <fieldValue>s are mentioned in ROUTEs<br>
outside the Proto.  Search for Reset and Reset_Clock, for example.":<br>
This is not necessary. That is, your sentence suggests that you think<br>
you *need* to list all fields/events using <fieldValue> inside<br>
ProtoInstance to later refer to them using ROUTE. But that's not true.<br>
All the fields/events that you declared in ProtoDeclare are<br>
automatically available in every prototype instance and are available<br>
to be used to ROUTEs. There's no need to list them using <fieldValue><br>
inside ProtoInstance. The <fieldValue> inside ProtoInstance shall be<br>
necessary only when you want to customize some field's value, i.e.<br>
specify a different value than the default ("default value" meaning<br>
here "value specified at ProtoDeclare").<br>
<br>
Here I speak about what I believe specification says, and how CGE<br>
implementation works . I do not have experience using PROTOs in X3DOM<br>
or X_ITE.<br>
<br>
Regards,<br>
Michalis<br>
<br>
wt., 4 lut 2025 o 23:16 John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> napisał(a):<br>
><br>
> Comments inline.<br>
> On Tue, Feb 4, 2025 at 3:23 PM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:<br>
>><br>
>> Hi,<br>
>><br>
>> Sorry for not following this thread from the start, I just saw a<br>
>> mention of castle-model-converter making warnings on the testcase. I<br>
>> confirm they also occur with latest Castle Model Viewer.<br>
>><br>
>> Looking at the testcase, I think Castle Model Viewer/Converter<br>
>> warnings are right. They say:<br>
>><br>
>> """<br>
>> X3D: X3D XML: <fieldValue> element references unknown field name "startTime"<br>
>> X3D: X3D XML: <fieldValue> element references unknown field name "stopTime"<br>
>> X3D: X3D XML: <fieldValue> element references unknown field name "enabled"<br>
>> """<br>
>><br>
>> because you have XML elements<br>
>><br>
>> <fieldValue name="startTime" /><br>
>> <fieldValue name="stopTime" /><br>
>> <fieldValue name="enabled" /><br>
>><br>
>> inside the prototype instance of MenuItem (<ProtoInstance ....<br>
>> name="MenuItem">).<br>
>><br>
>> But the prototype declaration (<ProtoDeclare name="MenuItem">) says<br>
>> these are "output only" events. They are "events", not fields, so<br>
>> strictly speaking they have no "persistent" value, at least that's how<br>
>> X3D specification treats them. (And that's how CGE implements them,<br>
>> events really hold no persistent value, they only pass values.)<br>
>><br>
>> """<br>
>>         <field name="startTime" accessType="outputOnly" type="SFTime"<br>
>> value='0' /><br>
>>         <field name="stopTime" accessType="outputOnly" type="SFTime" value='0'/><br>
>>         <field name="enabled" accessType="outputOnly" type="SFBool"<br>
>> value='false'/><br>
>> """<br>
>><br>
>> I understand that for JS scripts, it may make sense to specify a value<br>
>> even for outputOnly field (if one accesses from JS Script a value of<br>
>> output event that wasn't yet generated, which I understand is possible<br>
>> from standard JS API), but that's X3DOM extension, as Andreas pointed<br>
>> out.<br>
><br>
><br>
> More recent versions have not included any Script nodes.  That’s the main current requirement.<br>
>><br>
>><br>
>><br>
>> I don't think spec allows to specify values for such output events --<br>
>> again, they are not even "fields" using spec terminology, so<br>
>> "fieldValue" would be confusing :) The spec specifies "default value<br>
>> of an uninitialized xxx field" in<br>
>> <a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/fieldTypes.html" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/fieldTypes.html</a><br>
>> to serve as a fallback in edge-cases, like above.<br>
><br>
><br>
> Interesting take on events versus fields.<br>
>><br>
>><br>
>><br>
>> Moreover, note that in this specific case, these do not seem to serve<br>
>> any purpose. XML elements<br>
>><br>
>> <fieldValue name="startTime" /><br>
>> <fieldValue name="stopTime" /><br>
>> <fieldValue name="enabled" /><br>
>><br>
>> .... do not actually contain any value :) ( Again, sorry for not<br>
>> following this thread from start -- I do not know how the file was<br>
>> generated/created. ) I looks like they should just be removed.<br>
><br>
><br>
> These <fieldValue>s are mentioned in ROUTEs outside the Proto.  Search for Reset and Reset_Clock, for example.<br>
><br>
> I will try to create a simple example, but this is super frustrating to get anything beyond Sunrize and X_ITE working.  Sunrize won’t allow me to pass a TimeSensor USE into a Proto, and ROUTE to the TimeSensor inside the Proto, so that’s super frustrating too.  Maybe I should use type=“TimeSensor” in the interface?<br>
><br>
> The time triggers inside the Proto pretty much require the use of outputOnly.  Suggestions for other options would be helpful.  These lines look problematic:<br>
><br>
><br>
> <TimeTrigger DEF='startTime'><br>
> <IS> <connect nodeField='triggerTime' protoField='startTime'/> </IS> </TimeTrigger><br>
><br>
> <TimeTrigger DEF='stopTime'> <IS> <connect nodeField='triggerTime' protoField='stopTime'/> </IS> </TimeTrigger><br>
><br>
> <BooleanFilter DEF='veryTrue'> <IS> <connect nodeField='inputTrue' protoField='enabled'/> </IS> </BooleanFilter><br>
><br>
> Since I can’t “input” triggerTime, it requires that I use outputOnly.<br>
><br>
><br>
><br>
>><br>
>> Regards,<br>
>> Michalis<br>
>><br>
>> wt., 4 lut 2025 o 21:55 John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> napisał(a):<br>
>> ><br>
>> > I have added default values in the ProtoDeclare for outputOnly fields, reverting back to passing out startTime, stopTime and enabled.<br>
>> ><br>
>> > Referring to this repository:<br>
>> ><br>
>> > <a href="https://github.com/coderextreme/ci2had/" rel="noreferrer" target="_blank">https://github.com/coderextreme/ci2had/</a><br>
>> ><br>
>> > I primarily wish to get this working:   <a href="https://github.com/coderextreme/ci2had/blob/main/resources/CleanedYouClocks.x3d" rel="noreferrer" target="_blank">https://github.com/coderextreme/ci2had/blob/main/resources/CleanedYouClocks.x3d</a>, but first, I want to get ManyClocks.x3d working, because it precedes CleanedYouClocks.x3d, but feel free to get it working first (it's a cleaned up version).<br>
>> ><br>
>> > If all else fails, I'll probably strip out the Proto (ugh!).<br>
>> > --------------------------------------------------------------<br>
>> > I have confirmed that this doesn't animate:<br>
>> ><br>
>> > <a href="https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/ManyClocks.x3d" rel="noreferrer" target="_blank">https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/ManyClocks.x3d</a><br>
>> > --------------------------------------------------------------<br>
>> > This does animate:<br>
>> ><br>
>> > <a href="https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/ManyClocks.x3d" rel="noreferrer" target="_blank">https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/ManyClocks.x3d</a><br>
>> > ---------------------------------------------------------------<br>
>> > Castle Model Converter produces errors.  The viewer doesn't animate, probably because I use HAnimDisplacers. There are no scripts, in an attempt to appease people who don't like scripts.  We now have a good example that has HAnimDisplacers, but no scripts.<br>
>> ><br>
>> > $ ~/Downloads/castle-model-viewer-5.3.0-win64-x86_64/castle-model-viewer/castle-model-converter.exe --validate resources/ManyClocks.x3d 2>&1 |sort -u<br>
>> > castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "enabled"<br>
>> > castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "startTime"<br>
>> > castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "stopTime"<br>
>> > Exception "Exception":<br>
>> > Validation failed (consult the warnings above), exiting with non-zero status<br>
>> > ---------------------------------------------------------------<br>
>> > FreeWRL  kills JavaScript for some reason (there's no Script), but still doesn;'t animate (try pressing Fear).<br>
>> ><br>
>> > $ /c/Program\ Files\ \(x86\)/freeWRL/freeWRL.6.7/freeWRL.exe resources/ManyClocks.x3d<br>
>> ><br>
>> > MidiInWinMM::initialize: no MIDI input devices currently available.<br>
>> ><br>
>> > libfreewrl version 6.7.0<br>
>> > -h for commandline use<br>
>> > openGL version 4.6.0 NVIDIA 560.94<br>
>> > GLSL shader max version 4.60 NVIDIA 460<br>
>> > maximum texture size system/gpu: 32768 runtime/freewrl: 16384<br>
>> > processor architecture x64<br>
>> > maxiumum image texture units 32<br>
>> > depth bits 24<br>
>> > Skinning Method: GPU<br>
>> > calling kill_javascript()<br>
>> > done kill_javascript<br>
>> > Ending texture load thread gracefully<br>
>> > finalizeRenderSceneUpdateScene<br>
>> > ---------------------------------------------------------------------------------------------------<br>
>> > Schematron reports a bunch of problems, all of which I ignore.  See attached. log and build.xml<br>
>> > ---------------------------------------------------------------------------------------------------<br>
>> > There are many info issues when validating with X3DJSAIL, but I'm not sure about this one:<br>
>> > $ java -cp ~/Downloads/X3DJSAIL.4.0.full.jar org.web3d.x3d.jsail.CommandLine -validate resources/ManyClocks.x3d|grep -v<br>
>> > info<br>
>> > [snip]<br>
>> > org.web3d.x3d.sai.InvalidFieldException: IndexedFaceSet containing TextureCoordinate node with 295 values must also include texCoordIndex or coordIndex field<br>
>> >         at org.web3d.x3d.jsail.Geometry3D.IndexedFaceSet.validate(IndexedFaceSet.java:3756)<br>
>> >         at org.web3d.x3d.jsail.Shape.Shape.validate(Shape.java:2060)<br>
>> >         at org.web3d.x3d.jsail.Grouping.Transform.validate(Transform.java:2556)<br>
>> >         at org.web3d.x3d.jsail.HAnim.HAnimSegment.validate(HAnimSegment.java:6175)<br>
>> >         at org.web3d.x3d.jsail.HAnim.HAnimJoint.validate(HAnimJoint.java:7476)<br>
>> >         at org.web3d.x3d.jsail.HAnim.HAnimJoint.validate(HAnimJoint.java:7476)<br>
>> >         at org.web3d.x3d.jsail.HAnim.HAnimHumanoid.validate(HAnimHumanoid.java:6317)<br>
>> >         at org.web3d.x3d.jsail.Grouping.Transform.validate(Transform.java:2556)<br>
>> >         at org.web3d.x3d.jsail.Core.Scene.validate(Scene.java:869)<br>
>> >         at org.web3d.x3d.jsail.Core.X3D.validate(X3D.java:4549)<br>
>> >         at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:1098)<br>
>> >         at org.web3d.x3d.jsail.CommandLine.main(CommandLine.java:242)<br>
>> ><br>
>> > I don't have a recent version of X3DJSAIL<br>
>> ><br>
>> > On Tue, Feb 4, 2025 at 2:22 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br>
>> >><br>
>> >> Thanks, exactly what I was looking for.<br>
>> >><br>
>> >> Best, Andreas<br>
>> >><br>
>> >><br>
>> >> On Tue, Feb 4, 2025, 2:01 PM Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>> wrote:<br>
>> >>><br>
>> >>> The default value for a field is either specified for each node type or the default value for Script or ComposedShader node custom fields is defined in <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/fieldTypes.html" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/fieldTypes.html</a>. Mostly false, 0, „“, identity, ...<br>
>> >>><br>
>> >>> A proto instance will inherit its default values from the proto declaration its fields. Fields such as outputOnly will normally have a default value from fieldTypes.html.<br>
>> >>><br>
>> >>> There is an exception with X3DInterpolatorNode.value_changed:<br>
>> >>><br>
>> >>> <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/interpolators.html#X3DInterpolatorNode" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/interpolators.html#X3DInterpolatorNode</a><br>
>> >>><br>
>> >>> If an X3DInterpolatorNode value_changed outputOnly field is read before it receives any inputs, keyValue[0] is returned if keyValue is not empty...<br>
>> >>><br>
>> >>> Best regards,<br>
>> >>> Holger<br>
>> >>><br>
>> >>> --<br>
>> >>> Holger Seelig<br>
>> >>> Leipzig, Germany<br>
>> >>><br>
>> >>> <a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a><br>
>> >>> <a href="https://create3000.github.io/x_ite/" rel="noreferrer" target="_blank">https://create3000.github.io/x_ite/</a><br>
>> >>><br>
>> >>> Am 04.02.2025 um 19:26 schrieb Andreas Plesch via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>:<br>
>> >>><br>
>> >>> Hi John, all,<br>
>> >>><br>
>> >>> It turns out that x3dom currently expects a default value for Proto fields even for outputOnly fields. This is due to how Proto fields are initialized. They always need to have a value. While the spec. does not require this, it seems still good practice to always define a default value in the ProtoInterface. There may be a case where an outputOnly field is used in ISing where a valid value would be expected. There may be other corner cases.<br>
>> >>><br>
>> >>> Here is your example with added default values for outputOnly fields:<br>
>> >>><br>
>> >>> <a href="https://andreasplesch.github.io/Library/Viewer/index.html?url=https://gist.githubusercontent.com/andreasplesch/af5ff3148c1159f71d34fb78c1f63024/raw/b3d4470107ab74e301ed48448ab2a4f4154672e0/ManyClocks_John.x3d" rel="noreferrer" target="_blank">https://andreasplesch.github.io/Library/Viewer/index.html?url=https://gist.githubusercontent.com/andreasplesch/af5ff3148c1159f71d34fb78c1f63024/raw/b3d4470107ab74e301ed48448ab2a4f4154672e0/ManyClocks_John.x3d</a><br>
>> >>><br>
>> >>> This could be fixed in x3dom, by always setting some default value. Is there a list of recommended defaults for each data type if no other source of defaults is available? For SFTime it seems to be -1.<br>
>> >>><br>
>> >>> -Andreas<br>
>> >>><br>
>> >>><br>
>> >>> On Mon, Feb 3, 2025 at 7:39 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br>
>> >>>><br>
>> >>>> Hi John,<br>
>> >>>><br>
>> >>>> On Mon, Feb 3, 2025 at 12:48 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
>> >>>>><br>
>> >>>>> Andreas, "startTime" is an accessType outputOnly field, so why do I need to provide a value attribute in fieldValue?  I'm kind of confused.  I'm probably missing something in the spec.<br>
>> >>>><br>
>> >>>><br>
>> >>>> You are right, I only outlined scenarios where the accessType allows input or initialization..<br>
>> >>>> In the outputOnly case it is not necessary to provide a fieldValue node at all since there is no value which can be provided. Providing the node would indeed be confusing, to both the user code reader and any X3D browser.<br>
>> >>>> I believe the spec. is silent on this case in any encoding.<br>
>> >>>><br>
>> >>>> Best, Andreas<br>
>> >>>><br>
>> >>>>> Thanks for any clarification.<br>
>> >>>>><br>
>> >>>>> I have finally enabled schematron on the project, but I'm finding it hard to understand the messages, and modifications that I make, while removing the immediate problems, seem to move the problems elsewhere.<br>
>> >>>>><br>
>> >>>>> Explaining why I need a "startTime" fieldValue value is my main lack of understanding, but perhaps I need a whole review of accessType.<br>
>> >>>>><br>
>> >>>>> Castle Model Converter reports:<br>
>> >>>>><br>
>> >>>>> castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "enabled"<br>
>> >>>>> castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "startTime"<br>
>> >>>>> castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "stopTime"<br>
>> >>>>><br>
>> >>>>> I will try providing a field value in the ProtoInterface<br>
>> >>>>><br>
>> >>>>> If I "cleanup" enabled, startTime and stopTime, I get:<br>
>> >>>>><br>
>> >>>>> castle-model-converter: Warning: VRML/X3D: Within prototype "MenuItem", event "inputTrue" references (by "IS" clause) non-existing event "enabled"<br>
>> >>>>> castle-model-converter: Warning: VRML/X3D: Within prototype "MenuItem", event "triggerTime" references (by "IS" clause) non-existing event "startTime"<br>
>> >>>>> castle-model-converter: Warning: VRML/X3D: Within prototype "MenuItem", event "triggerTime" references (by "IS" clause) non-existing event "stopTime"<br>
>> >>>>><br>
>> >>>>> I guess what I conclude at this point is, startTime and stopTime are bad DEF names, but what about enabled as a field?  The dominoes are falling.<br>
>> >>>>><br>
>> >>>>> About your two scenarios in the other message, perhaps this is revealing.<br>
>> >>>>><br>
>> >>>>> See attached attempt to fix original issue, which resulted in the above.<br>
>> >>>>><br>
>> >>>>> John<br>
>> >>>>><br>
>> >>>>> On Sun, Feb 2, 2025 at 3:59 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br>
>> >>>>>><br>
>> >>>>>> I think x3dom, reasonably, expects a value for the fieldValue nodes:<br>
>> >>>>>><br>
>> >>>>>> For example:<br>
>> >>>>>><br>
>> >>>>>> <fieldValue name="startTime" /><br>
>> >>>>>><br>
>> >>>>>> and others.<br>
>> >>>>>><br>
>> >>>>>> On Sun, Feb 2, 2025 at 5:42 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
>> >>>>>>><br>
>> >>>>>>> Andreas, Joe,<br>
>> >>>>>>><br>
>> >>>>>>> Reset Button, Reset_Clock added.<br>
>> >>>>>>><br>
>> >>>>>>> See attached zip for details, or visit link;<br>
>> >>>>>>><br>
>> >>>>>>> <a href="https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d" rel="noreferrer" target="_blank">https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d</a><br>
>> >>>>>>><br>
>> >>>>>>> For some reason, this link doesn't show the live scene?<br>
>> >>>>>>><br>
>> >>>>>>> <a href="https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d" rel="noreferrer" target="_blank">https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d</a><br>
>> >>>>>>><br>
>> >>>>>>> Puzzled, haven't researched it yet.  Looks good in Sunrize and X_ITE, will try FreeWRL next.<br>
>> >>>>>>><br>
>> >>>>>>> John<br>
>> >>>>>><br>
>> >>>>>><br>
>> >>>>>><br>
>> >>>>>> --<br>
>> >>>>>> Andreas Plesch<br>
>> >>>>>> Waltham, MA 02453<br>
>> >>>><br>
>> >>>><br>
>> >>>><br>
>> >>>> --<br>
>> >>>> Andreas Plesch<br>
>> >>>> Waltham, MA 02453<br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>> --<br>
>> >>> Andreas Plesch<br>
>> >>> Waltham, MA 02453<br>
>> >>> _______________________________________________<br>
>> >>> x3d-public mailing list<br>
>> >>> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
>> >>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>> >>><br>
>> >>><br>
</blockquote></div></div>
</blockquote></div></div>