<div dir="auto">If you think hard enough, you will realize that skeleton must come before joints field most of the time. Think about a USE node halfway down the joint hierarchy. Where do I put the children? I don’t know what CGE editor does or requires. I’m generating x3d encoded files, not reading them. I had to modify x3d.py so that view3dscene would accept output from x3d.py</div><div dir="auto"><br></div><div dir="auto">That was why I modified my version of x3d.py to put skeleton before joints. Putting the whole joint hierarchy or the leaves in the joints field is possible, but who in their right mind would do that?</div><div dir="auto"><br></div><div dir="auto">I would like to put skinCoord after skin, but x3d.py in it’s off-the-shelf form, plus skeleton/joints mods, AFAIK, can’t, if skeleton is sorted before joints according to the way I did in my version (I couldn’t think of a better way to say this). Basically, I am asking for help to sort skeleton before joints AND sort skin before skinCoord and skinNormal on x3d.py output. The former is pretty much required, the latter may or may not be required and may violate the standard. I read the standard Don quoted as putting skinCoord and skinNormal before skin. The VRML encoding annex c is more muddled. According to Joe, he’s never seen skinCoord before skin, except in from my Blender exporter before I modified x3d.py</div><div dir="auto"><br></div><div dir="auto">I’m sorry skeleton/joints are confabulated with skin/skinCoord/skinNormal I realize a skeleton could have a USE in a second humanoid, so your point on skeleton having a USE is not lost.</div><div dir="auto"><br></div><div dir="auto">Basically, I need help with xsl:sort in x3d.py, sorting fields in the Humanoid node, which really affects pretty much all node classes in x3d.py, which is why anyone is reluctant to change it. I got lucky when I sorted skeleton first.</div><div dir="auto"><br></div><div dir="auto">I’m pretty sure that skinCoord and maybe skinNormal are going to come before skin in x3d.py. I just have to adjust the code, which might get messy. But joints field before skeleton is just plain wrong, unless one is referring to a second skeleton. I don’t think our usage of x3d.py would ever do that, but Blender might surprise us with a USEd skeleton or a USEd humanoid. IDK. We haven’t even considered second humanoids.</div><div dir="auto"><br></div><div dir="auto">Again, x3d.py controls the order of the fields in HAnimHumanoid. My Blender export Python code does not, it only controls DEF/USE. I do have my own version of x3d.py that works well. I would like conform to the standard and make Joe happy at the same time. I read Don’s quote about skin/skinCoord/skinNormal as putting skin last. Could someone please check to see what the off-the-shelf x3d.py does with JoeKick.py XML output?</div><div dir="auto"><br></div><div dir="auto">I would like to use an off-the-shelf x3d.py as installed by python’s pip command. I am afraid there are customers of x3d.py that hesitant to adapt to changes, but if they start using both HAnimHumanoid with view3dscene, they will get a rude awakening like I did. I am trying to prevent a second round of this discussion. But in classic x3d-public style, things come up over and over again. I don’t want to have to revisit this if suddenly another x3d.py customer wants the fields in another order, and all my customers using view3dscene start complaining that their humanoids aren’t working.</div><div dir="auto"><br></div><div dir="auto">I’d rather have severe pain now, than repeated pain, and yes, I l’m probably ruining my remaining kidney by continuing this discussion.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 31, 2023 at 8:03 AM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>To be clear, CGE/view3dscene are the same as FreeWRL in this regard. (And I can bet all other X3D browsers :) )</div><div><br></div><div>In the end, it doesn't matter whether you write:</div><div><br></div><div>"""<br></div><div>SomeNode {</div><div> field1 DEF MyShape Shape { }<br></div><div> field2 USE
MyShape
</div><div>}</div><div>
<div>"""</div><div><br></div><div>or</div><div><br></div><div>
<div>"""<br></div><div>SomeNode {</div>
<div> field2 DEF MyShape Shape { }<br></div><div> field1 USE
MyShape
</div><div></div>
}<div>
<div>"""</div><div><br></div><div>( In the above examples, field1 and field2 order differs. )<br></div><div><br></div><div>These both result in the exact same X3D nodes graph, exact same behavior, which follows X3D specification from what I can tell, and I think this matches what all X3D browsers are doing.</div><div><br></div><div>I know the H-Anim specification has a wording that suggests that some fields should use USE to refer to already defined node. You can interpret the phrase in <a href="https://www.web3d.org/documents/specifications/19774-1/V2.0/Architecture/ObjectInterfaces.html#Humanoid" target="_blank">https://www.web3d.org/documents/specifications/19774-1/V2.0/Architecture/ObjectInterfaces.html#Humanoid</a> """The joints field contains a list of references, one for each Joint object defined within the skeleton field hierarchy of the Humanoid object""" to indicate that e.g. joints should always be expressed as a list of "USE xxx" declarations, and they usually are.</div><div><br></div><div>But in CGE/view3dscene, we relax this requirement (it would be odd to even try to check it, since in general in X3D it should not matter). All it matters is that "joints" are the same nodes as used within "skeleton" hierarchy. You are welcome to specify either field as first, just make sure that first node occurrence is DEF, and the other occurrences are USE.</div><div><br></div><div>Hope this also helps with issue John submitted ( <a href="https://github.com/castle-engine/view3dscene/issues/83" target="_blank">https://github.com/castle-engine/view3dscene/issues/83</a> ).</div><div><br></div><div>Regards,</div><div>Michalis<br></div><div><br></div><div><br></div></div>
</div><div></div>
</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">wt., 31 paź 2023 o 13:49 GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> napisał(a):<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="ltr">In freewrl it doesn't matter which field skin (and children Shapes) or skinCoord comes first, as long as the first one in the scene file has the Coordinate DEF (and following ones have Coordinate USE). Once parsed into a scenegraph, both skinCoord and skin shapes refer to the same node instance in memory.<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 31, 2023 at 12:07 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">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">Actually, I reread and I’m lost again, sigh.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">John </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 30, 2023 at 11:45 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">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">Annex C: VRML Encoding seems to agree with what Don posted:</div><div dir="auto"><br></div><div dir="auto">“<div><p style="font-size:26px;font-family:Verdana,Arial,Helvetica,sans-serif;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(0,0,0)" dir="auto">The geometry of an HAnim figure can be described in two ways. The first way is within the scene graph of the joint hierarchy, which is described in the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><i style="font-family:Verdana,Arial,Helvetica,sans-serif">skeleton</i><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>field of the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">HAnimHumanoid</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>node. Geometry defined within<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">HAnimSegment</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>nodes of this joint hierarchy describe the body as separate geometric pieces. This method, while computationally efficient, has certain visual anomalies (such as seams or creases) that detract from the appearance of the HAnim figure. The second way of describing the geometry of an HAnim figure is as a continuous piece of geometry, within the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><i style="font-family:Verdana,Arial,Helvetica,sans-serif">skin</i><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>field of the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">HAnimHumanoid</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>node. For this method, point and normal vector data sets are first defined in the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><i style="font-family:Verdana,Arial,Helvetica,sans-serif">skinCoord</i><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>and<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><i style="font-family:Verdana,Arial,Helvetica,sans-serif">skinNormal</i><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>fields (in the form of<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">Coordinate</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>and<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">Normal</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>nodes, respectively). This data is defined in this manner to allow it to be referenced by two different entities within the definition of the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">HAnimHumanoid</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>node. The first entity is one or more<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">IndexedFaceSet</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>nodes that define the surface of the geometry of the humanoid within the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><i style="font-family:Verdana,Arial,Helvetica,sans-serif">skin</i><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>field. In most cases, this surface is a single<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">IndexedFaceSet</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>node. However, the surface can also be defined as multiple<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">IndexedFaceSet</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>nodes. It is possible that depending on the implementation of the<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">IndexedFaceSet</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>nodes and the configuration of the HAnim figure, multiple<span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span><span style="font-family:monospace;font-size:20px">IndexedFaceSet</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif"> </span>nodes may provide better performance by isolating the continuous mesh changes to localized surfaces.”</p></div></div><div><br><div class="gmail_quote"></div></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 30, 2023 at 11:01 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">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">Hi Joe,</div><div dir="auto"><br></div><div dir="auto">I don’t get how your example lines up with the standard Don quoted “<span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">The </span><em style="font-family:-apple-system,"Helvetica Neue";font-size:1rem;word-spacing:1px;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117)">skin</em><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"> field contains one or more indexed mesh definitions. Those indexed mesh definitions utilize the point and normal data that is defined within the </span><em style="font-family:-apple-system,"Helvetica Neue";font-size:1rem;word-spacing:1px;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117)">skinCoord</em><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"> and </span><em style="font-family:-apple-system,"Helvetica Neue";font-size:1rem;word-spacing:1px;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117)">skinNormal</em><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"> </span><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">fields, respectively, of the </span><strong style="font-family:-apple-system,"Helvetica Neue";font-size:1rem;word-spacing:1px;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117)">Humanoid</strong><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"> object.”</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">Maybe I’m dumb?</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">Can we take it down to a high school level instead of PhD?</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">Look at the JoeKick link I posted separately, it follows your example.</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">Maybe the standards documentation could be clearer? Maybe Don’s quote is from somewhere else?</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">AFAIK, Gramps now follows what you have below, but some versions may be reversed as we were trying to figure it out in the Blender exporter.</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">I don’t mind what is decided either way, and I would prefer your way and x3d.py to change, if it doesn’t support that order of output. If I seem a bit wishy-washy, it’s because I see that I am getting conflicting information, as far as I can tell.</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">We can go back to DAGs and inventing DEF/USE on the fly, but I thought we were past that, and now we’re just trying to define order of fields, and/or whether the verbage the standard should change.</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">To me, a definition is a DEF’ed field, and a USE field references the definition. But I haven’t read any glossaries.</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">Thanks, I feel super dumb at this point.</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline"><br></span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";word-spacing:1px;float:none;background-color:rgba(0,0,0,0);border-color:rgb(117,117,117);color:rgb(117,117,117);display:inline">John</span></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 30, 2023 at 9:50 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</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 style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">Hi John, </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">skin [ <br> Shape { <br> geometry IndexedFaceSet { <br> coord DEF TheSkinCoord Coordinate { point [ ... ] ... } } ]</p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">then </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">skinCoord USE TheSkinCoord </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">So, not </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">> "<span style="font-size:12pt;font-family:arial,sans-serif">Yes, this means skinCoord DEF comes before skin Coordinate USE,"</span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"><span style="font-size:12pt;font-family:arial,sans-serif"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"><span style="font-size:12pt;font-family:arial,sans-serif">actually we want toDEF the coord Coordinate point then we can USE forskinCoord. </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"><span style="font-size:12pt;font-family:arial,sans-serif"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">The only place I have seen these reversed is the code for Gramps you sent and it worked anyway. </p></div><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"><span style="font-size:12pt;font-family:arial,sans-serif"> </span></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"><span style="font-size:12pt;font-family:arial,sans-serif"> </span>Joe</p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
</div>
<div style="border-left:1px solid rgb(170,170,170);box-sizing:border-box;padding:10px 0px 10px 15px;margin:0px">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Oct 30, 2023 6:27 PM<br>To: Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>Cc: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: Re: [x3d-public] What are valid children of HAnimHumanoid.skin?</p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<div dir="auto">Yes, this means skinCoord DEF comes before skin Coordinate USE, which is the information I was looking for.</div>
<div dir="auto"> </div>
<div dir="auto">At least this is my reading of the standard.</div>
<div dir="auto"> </div>
<div dir="auto">Joe, do you concur? The next thing to do is look at what’s done in the archive.</div>
<div dir="auto"> </div>
<div dir="auto">Thanks,</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Mon, Oct 30, 2023 at 12:04 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-US">
<div>
<p class="MsoNormal">Please use latest url for X3D 4.0 Architecture:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/" rel="noopener" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/</a><u></u><u></u></li>
<li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid" rel="noopener" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid</a><u></u><u></u></li>
</ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">HAnimHumanoid : X3DChildNode, X3DBoundedObject {<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""> […]<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""> MFNode [in,out] skin [] [Group, LOD, Shape, Switch, Transform, IndexedFaceSet, IndexedFanSet, IndexedLineSet, IndexedQuadSet, IndexedTriangleSet, IndexedTriangleStripSet]<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Further please note that the functional descriptions are provided in the HAnim 2.0 standard:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">HAnim 2.0 Part 1: Humanoid animation (HAnim) architecture, 6 Object interfaces, 6.2 Humanoid<u></u><u></u></li>
<li style="margin-left:0in"><a href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid" rel="noopener" target="_blank">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid</a><u></u><u></u></li>
</ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">“The <em>skin</em> field contains one or more indexed mesh definitions. Those indexed mesh definitions utilize the point and normal data that is defined within the <em>skinCoord</em> and <em>skinNormal</em> fields, respectively, of the <strong>Humanoid</strong> object. This field is defined as an generic type for which the specific representation is defined by each binding to a presentation system. <a href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/VRMLInterface.html" rel="noopener" target="_blank">Annex C VRML binding</a> contains a binding for VRML. <a href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/X3DInterface.html" rel="noopener" target="_blank">Annex D X3D binding</a> describes the Humanoid animation component of X3D specified in <a href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/bibliography.html#I19775_1" rel="noopener" target="_blank">ISO/IEC 19775-1</a>.”<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Don Brutzman Naval Postgraduate School, Code USW/Br <a style="font-family:"Courier New"" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics <a style="font-family:"Courier New"" href="https://faculty.nps.edu/brutzman" rel="noopener" target="_blank">https://faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor">
<p class="MsoNormal"><strong>From:</strong> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" rel="noopener" target="_blank">x3d-public-bounces@web3d.org</a>> <strong>On Behalf Of </strong>GPU Group<br><strong>Sent:</strong> Sunday, October 29, 2023 5:56 AM<br><strong>To:</strong> John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>><br><strong>Cc:</strong> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" rel="noopener" target="_blank">x3d-public@web3d.org</a>><br><strong>Subject:</strong> Re: [x3d-public] What are valid children of HAnimHumanoid.skin? argument for allowing containerFields in x3d.py<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimHumanoid" rel="noopener" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimHumanoid</a> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">- skin <span style="font-size:8.5pt;color:black">[IndexedFaceSet, X3DGroupingNode, Shape]</span><u></u><u></u></p>
</div>
<p class="MsoNormal">I haven't tried it but I don't see how freewrl could render a skin with bare IFS, it needs to be wrapped in at least a Shape, and HAnimHumanoid doesn't inherit from Shape<u></u><u></u></p>
</div>
<div>
<pre style="margin-left:18.75pt;font-family:monospace"><span style="font-size:8.5pt;font-family:monospace;color:black">HAnimHumanoid : X3DChildNode, X3DBoundedObject <u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Sun, Oct 29, 2023 at 6:45 AM GPU Group <<a href="mailto:gpugroup@gmail.com" rel="noopener" target="_blank">gpugroup@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<p class="MsoNormal">xml with no containerField > freeWRL: Group and Transform, and today I added Shape.<u></u><u></u></p>
<div>
<p class="MsoNormal">Basically whatever ends up in that skin field, freewrl renders as normal scenegraph, so you can have a transform hierarchy of skin chunks / shapes and freewrl doesn't mind. (It's the skeleton and coordinate field that changes the shape of anything that uses the same coordinates, and the scene author presumes there's no weird transforms between chunks, but freewrl doesn't enforce that).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">-Doug<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Sun, Oct 29, 2023 at 4:24 AM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<p class="MsoNormal">* I am specifically speaking of the lack of containerField in XML output from x3d.py. I also have issues with overuse of the “children”container fields in VRML. I am speaking of instances where view3dscene reports an error or does not show the scene (even trying tovrmlx3d would help). The problem stems from lack of testing on HAnim VRML and XML outputs from x3d.py. I could show Don an example, but he’s got a whole section of the archive devoted to examples which do show the same behavior when tested properly.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">One cannot just type in “containerField” in a python program and expect x3d.py to list it in output. I might be able to subclass, but that would require my own X3dToPython.xslt stylesheet.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">* Skin/shape is another topic in the email. See standard, where Shape is not mentioned under skin, rather, indexed mesh nodes are. There is no children field under Shape, but there’s a skin field under HAnimHumanoid. Skin has an MFNode field type, and has SFNode children, AFAIK. The question is whether these children should be Shapes or indexed meshes.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Sat, Oct 28, 2023 at 2:16 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" rel="noopener" target="_blank">joedwil@earthlink.net</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">> </span><span style="font-size:9pt;font-family:Arial,sans-serif;background:rgb(225,231,241);color:black">argument for allowing containerFields in x3d.py</span><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">I don't understand. If no container fields then not able to do all of x3d. We had to use containerField for the admittedly rare instance where the default is not true. These are cases where looking up the containerField in schema is not enough. <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Some are tricky, like skeleton where only the root Joint has to have the containerField as skeleton. <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">skin contains a Shape which does not have children.<u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">However we are investigating the idea of how to code LOD choices for skin. I think we already know how to do that for that for Segment geometry. <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Thanks,<u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Joe<u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
<p style="margin:0.1rem 0px"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"> <u style="font-family:Arial,sans-serif"></u><u style="font-family:Arial,sans-serif"></u></span></p>
</div>
<div style="border-width:medium medium medium 1pt;border-style:none none none solid;padding:0in 0in 0in 11pt;box-sizing:border-box;border-color:currentcolor currentcolor currentcolor rgb(170,170,170)">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>><br>Sent: Oct 26, 2023 10:08 AM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" rel="noopener" target="_blank">joedwil@earthlink.net</a>>, X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" rel="noopener" target="_blank">x3d-public@web3d.org</a>><br>Subject: What are valid children of HAnimHumanoid.skin? argument for allowing containerFields in x3d.py<u></u><u></u></p>
<p style="margin:0.1rem 0px"> <u></u><u></u></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<pre style="margin-left:18.75pt;font-family:monospace"><span style="font-size:8.5pt;font-family:monospace;color:black">From: <a style="font-family:monospace" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/hanim.html#HAnimHumanoid" rel="noopener" target="_blank"><span style="font-size:12pt;font-family:Arial,sans-serif">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/hanim.html#HAnimHumanoid</span></a><u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="margin-left:18.75pt;font-family:monospace"><span style="font-size:8.5pt;font-family:monospace;color:black">I see:<u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="margin-left:18.75pt;font-family:monospace"><span style="font-size:8.5pt;font-family:monospace;color:black">MFNode [in,out] skin [] [IndexedFaceSet, IndexedFanSet, IndexedQuadSet, IndexedTriangleSet, IndexedTriangleStripSet]<u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="margin-left:18.75pt;font-family:monospace"><span style="font-size:8.5pt;font-family:monospace;color:black">And fromL <a style="font-family:monospace" href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid" rel="noopener" target="_blank">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid</a><u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="font-family:monospace"><span style="font-size:9pt;font-family:monospace">sequence<Object> skin [] [indexed mesh objects as defined by the representation]<u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="font-family:monospace"><span style="font-size:9pt;font-family:monospace"> <u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="font-family:monospace"><span style="font-size:9pt;font-family:monospace">But in actual practice, I see:<u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="font-family:monospace"><span style="font-size:9pt;font-family:monospace"> <u style="font-family:monospace"></u><u style="font-family:monospace"></u></span></pre>
<pre style="font-family:monospace"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"><<span style="font-family:"Times New Roman",serif;color:navy">Shape</span> <span style="font-family:"Times New Roman",serif;color:green">DEF</span>='<a style="font-family:"Times New Roman",serif" title="bookmark link to Joe_Shape" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_Shape" rel="noopener" target="_blank"><span style="font-family:"Times New Roman",serif;color:maroon">Joe_Shape</span></a>' <span style="font-family:"Times New Roman",serif;color:green">containerField</span>='<span style="font-family:"Times New Roman",serif;color:teal">skin</span>'></span><u style="font-family:monospace"></u><u style="font-family:monospace"></u></pre>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"><<span style="font-family:"Times New Roman",serif;color:navy">Appearance</span> <span style="font-family:"Times New Roman",serif;color:green">DEF</span>='<a style="font-family:"Times New Roman",serif" title="bookmark link to Joe_skin_Appearance" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_skin_Appearance" rel="noopener" target="_blank"><span style="font-family:"Times New Roman",serif;color:maroon">Joe_skin_Appearance</span></a>'> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"><<span style="font-family:"Times New Roman",serif;color:navy">Material</span> <span style="font-family:"Times New Roman",serif;color:green">DEF</span>='<a style="font-family:"Times New Roman",serif" title="bookmark link to Joe_skin_Material" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_skin_Material" rel="noopener" target="_blank"><span style="font-family:"Times New Roman",serif;color:maroon">Joe_skin_Material</span></a>' <span style="font-family:"Times New Roman",serif;color:green">diffuseColor</span>='<span style="font-family:"Times New Roman",serif;color:teal">0.3 0.3 0.6</span>' <span style="font-family:"Times New Roman",serif;color:green">emissiveColor</span>='<span style="font-family:"Times New Roman",serif;color:teal">0.3 0.3 0.6</span>'/><br><<span style="font-family:"Times New Roman",serif;color:navy">ImageTexture</span> <span style="font-family:"Times New Roman",serif;color:green">DEF</span>='<a style="font-family:"Times New Roman",serif" title="bookmark link to JoeSkinImageTexture" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#JoeSkinImageTexture" rel="noopener" target="_blank"><span style="font-family:"Times New Roman",serif;color:maroon">JoeSkinImageTexture</span></a>'<br> <span style="font-family:"Times New Roman",serif;color:green">url</span>=' "<a style="font-family:"Times New Roman",serif" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeBodyTexture29.png" rel="noopener" target="_blank">JoeBodyTexture29.png<span style="text-decoration:none;font-family:"Times New Roman",serif"><img id="m_-5854862941838211131m_-4458913476404180420m_-4159274934120766230m_5950189225149800363m_6905852211594334872m_4733856421028338303m_-8807610679238523319_x0000_i1026" style="width:1.3333in;height:1.3333in;font-family:"Times New Roman",serif" width="128" height="128" border="0"></span> </a>" "<a style="font-family:"Times New Roman",serif" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png" rel="noopener" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png<span style="text-decoration:none;font-family:"Times New Roman",serif"><img id="m_-5854862941838211131m_-4458913476404180420m_-4159274934120766230m_5950189225149800363m_6905852211594334872m_4733856421028338303m_-8807610679238523319_x0000_i1025" style="width:1.3333in;height:1.3333in;font-family:"Times New Roman",serif" width="128" height="128" border="0"></span> </a>" ' /><a style="font-family:"Times New Roman",serif" name="m_-5854862941838211131_m_-4458913476404180420_m_-4159274934120766230_m_5950189225149800363_m_6905852211594334872_m_4733856421028338303_m_-8807610679238523319_m_7510167247552546186_m_-696901959981096"></a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif;background:rgb(238,238,238);color:black"><!-- <em style="font-family:"Times New Roman",serif">ROUTE</em> information for </span><span style="font-size:13.5pt;font-family:"Times New Roman",serif;background:rgb(238,238,238);color:maroon">KickTextureTransform</span><span style="font-size:13.5pt;font-family:"Times New Roman",serif;background:rgb(238,238,238);color:black"> node: [<a style="font-family:"Times New Roman",serif" title="go to this ROUTE" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#ROUTE_194" rel="noopener" target="_blank"><em style="font-family:"Times New Roman",serif">from</em> <span style="font-family:"Times New Roman",serif;color:maroon">SkinInterpolator</span>.<span style="font-family:"Times New Roman",serif;color:green">value_changed</span> <em style="font-family:"Times New Roman",serif">to</em> <span style="font-family:"Times New Roman",serif;color:green">rotation</span> </a>] --><br></span><span style="font-size:13.5pt;font-family:"Times New Roman",serif"><<span style="font-family:"Times New Roman",serif;color:navy">TextureTransform</span> <span style="font-family:"Times New Roman",serif;color:green">DEF</span>='<a style="font-family:"Times New Roman",serif" title="bookmark link to KickTextureTransform" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#KickTextureTransform" rel="noopener" target="_blank"><span style="font-family:"Times New Roman",serif;color:maroon">KickTextureTransform</span></a>'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"></<span style="font-family:"Times New Roman",serif;color:navy">Appearance</span>><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">From:<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"><a style="font-family:"Times New Roman",serif" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html" rel="noopener" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">And <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">skin [<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> DEF Joe_Shape Shape {<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> appearance DEF Joe_skin_Appearance Appearance {<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> material DEF Joe_skin_Material Material {<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> diffuseColor 0.3 0.3 0.6<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> emissiveColor 0.3 0.3 0.6<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> }<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> texture DEF JoeSkinImageTexture ImageTexture {<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> url [ "JoeBodyTexture29.png" "<a style="font-family:"Times New Roman",serif" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png" rel="noopener" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png</a>" ]<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> }<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> textureTransform DEF KickTextureTransform TextureTransform {<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> }<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> }<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">==================================================<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">So it would seem like Shapes with an Indexed geometry is what we're aiming for in the standard as one of the possibly many children of the skin container field (note the space).<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">That is all okay, AFAIAC, just extremely confusing when deciding where to add containerFields in DOM documents.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">For example, consider the below:<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_4'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_metacarpophalangeal_3'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_3'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_3'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_metacarpophalangeal_2'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_2'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_2'/><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">[ etc. ]<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">It may not be apparent, but X3DJSAIL complains about this. There's no containerField='joints', right? But I'm generating this code using x3d.py which doesn't allow me to list containerFields!<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif">Grr! Here are some of the "brutzman" messages from X3DJSAI, which are valid. I really want to assign joints as a containerField, so perhaps I will just do it in X3DJSONLD.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
<div style="margin-left:18.75pt">
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a style="font-family:"Times New Roman",serif" href="mailto:brutzman@nps.edu" rel="noopener" target="_blank">brutzman@nps.edu</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p style="margin:0.1rem 0px"> <u></u><u></u></p>
</blockquote>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" rel="noopener" target="_blank">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noopener" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><u></u><u></u></p>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<p style="margin:0.1rem 0px;line-height:1"> </p></blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>
_______________________________________________<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>
</blockquote></div>
_______________________________________________<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>
</blockquote></div>
</blockquote></div></div>