[x3d-public] [x3d] [X3D] X3D schema, DTD updates: USE HAnim objects
Joe D Williams
joedwil at earthlink.net
Mon Jan 26 10:38:28 PST 2015
Hi Don,
> You are correct that an HAnim* USE node within an skeleton doesn't
> make sense.
>
> There are specific cases called out where HAnim* USE nodes appear as
> direct children of HAnimHumanoid, motivated by making them
> accessible to IK engines etc.
Yes, the joints[] sites[] segments[] fields in Humanoid are artifact
of providing the model in Proto form or pre 19774 legacy to serve
either as a list of ROUTE destinations, or list of 'standard'
@name(s).
No HAnim browser has ever required the joints[] sites[] segments[]
fields in Humanoid.
The current spec is aimed at listing ROUTE destinations DEF(s) rather
than name(s). Of course the @name field is the best for skeleton
validation since the @DEF fields are user-defined.
> X3D Specification is inconsistent about noting that name field is
> required, have submitted a specification comment to fix that
> omission:
"The description of each field shall be as described in ISO/IEC
19774."
seems clear to me, the 19774 says @name is required for all 'standard'
items and seems intended as a means of verification..
> X3D Schematron (and thus X3D Validator) does have sufficient
> expressive power to make this distinction, and will provide error
> messages if either USE case is handled incorrectly. 8)
Great, then this is a case for X3DEdit where the note is:
Not appropriate to USE any 'named' HAnim node.
For a 'standard' humanoid, each 'standard' Joint/Segment/Site has a
unique 'standard' name.
Basically, if you wish to USE a Joint or any other HAnim node, then
that probably ain't real but you can do it, just don't include @name.
Thanks Again Don and all,
Joe
----- Original Message -----
From: "Don Brutzman" <brutzman at nps.edu>
To: "Joe D Williams" <joedwil at earthlink.net>; "X3D Graphics public
mailing list" <x3d-public at web3d.org>; "X3D working group"
<x3d at web3d.org>
Sent: Sunday, January 25, 2015 12:44 AM
Subject: Re: [x3d] [X3D] X3D schema, DTD updates: USE HAnim objects
> thank you for the thoughtful review Joe.
>
> On 1/22/2015 6:13 PM, Joe D Williams wrote:
>>>> HAnim* nodes: cannot require @name field
>>
>> not a workable rule by the current HAnim standard.
>>
>> In DIS terms that may apply:usually nonsensical."
>>
>> "Multiple owners for one entity is
>> (where entiity is a 'standard' hanim object in the hierarchy)
>>
>> thus USE of an named HAnim node is nonsensical:)
>
> H-Anim Specification does require a name field in these node
> definitions, as you note below, so that is the guiding reference.
> http://www.web3d.org/documents/specifications/19774/V1.0/HAnim/ObjectInterfaces.html
>
> You are correct that an HAnim* USE node within an skeleton doesn't
> make sense.
>
> There are specific cases called out where HAnim* USE nodes appear as
> direct children of HAnimHumanoid, motivated by making them
> accessible to IK engines etc.
>
> X3D DTD and Schema do not quite have sufficient expressive power to
> make this distinction between the two cases.
>
> X3D Schematron (and thus X3D Validator) does have sufficient
> expressive power to make this distinction, and will provide error
> messages if either USE case is handled incorrectly. 8)
>
> I just rechecked and the X3D Specification is inconsistent about
> noting that name field is required, have submitted a specification
> comment to fix that omission:
>
> X3D Humanoid Animation (H-Anim) component
> 26.3 Node reference
> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html#Nodereference
>
>>>> - Metadata*, HAnim* nodes: cannot require @name field or else USE
>>>> nodes fail to validate
>>>
>>> to me, that is OK.
>>
>> it is OK because there is no case of 'standard' humanoid where USE
>> is valid or necessary.
>>
>> Besides, the spec says
>> Humanoid: The name field, which shall be present, stores the name
>> of the humanoid defined by the Humanoid object.
>>
>> Joint: The name field is the only field which must be defined, all
>> the other fields are optional.
>>
>> Segment: The name field shall be present, so that the Segment can
>> be distinguished from other Segment objects.
>>
>> SIte: The name field shall be present so that the Site can be
>> distinguished from other Site objects.
>>
>> Maybe some problems come from the fact that for VRML/X3D the HAnim
>> name sort of overlaps the DEF.
>>
>> Nonetheless, for 'standard' every hanim object has to have a unique
>> name (that is actually shown in the standard).
>> This makes it not proper to USE an hanim object.
>> Maybe a limitation,
>> maybe reality.
>>
>> Anyway, there is no reason to USE an HAnim node that has a name -
>> it just isn't done or needed for our humanoid.
>>
>> except, that is in those useless legacy
>> joints []
>> segments []
>> sites []
>> fields of the Humanoid object, but that useage of USE are a special
>> not very well explained cases that should be discussed.
>
> agreed, except maybe regarding "useless legacy" - as we gain
> improving traction with our tool handling of HAnim models we may yet
> find that they are indeed useful.
>
>> Thanks,
>> Joe
>>
>> I hope I have good pointd for HAnim nodes, but it is just the same
>> for Metastuffs. the names and datas of whatever is created by USE
>> is really of no consequence since only the DEF is accessible.
>>
>>
>>
>> ----- Original Message ----- From: "Joe D Williams"
>> <joedwil at earthlink.net>
>> To: "Don Brutzman" <brutzman at nps.edu>; "X3D Graphics public mailing
>> list" <x3d-public at web3d.org>; "X3D working group" <x3d at web3d.org>
>> Sent: Tuesday, January 20, 2015 5:04 PM
>> Subject: Re: [x3d] [X3D] X3D schema, DTD updates: FogCoordinate
>> depth, X3DAppearanceNode is abstract
>>
>>
>>>> - Metadata*, HAnim* nodes: cannot require @name field or else USE
>>>> nodes fail to validate
>>>
>>>
>>> to me, that is OK.
>>> How would it be good to USE an HanimJoint node, or any other
>>> hanim. It just should not be done, like no good reason exists.
>>> Except maybe to try to transform right to left?
>>> No way for hanim, maybe for other creatures.
>>>
>>> Same for Meta. Why would I want another instance of the same meta
>>> data?
>>>
>>> If possible, more like USE nodes should Not be allowed with these.
>>>
>>> Thanks,
>>> Joe
>>>
>>>
>>>
>>>
>>> ----- Original Message ----- From: "Don Brutzman"
>>> <brutzman at nps.edu>
>>> To: "X3D Graphics public mailing list" <x3d-public at web3d.org>;
>>> "X3D working group" <x3d at web3d.org>
>>> Sent: Monday, January 19, 2015 8:02 PM
>>> Subject: [x3d] [X3D] X3D schema, DTD updates: FogCoordinate depth,
>>> X3DAppearanceNode is abstract
>>>
>>>
>>>> X3D Schema, DTD update activity:
>>>>
>>>> =============================================================================
>>>> 18 January 2015, walmsley, brutzman
>>>> - FogCoordinate depth field as type MFFloat array
>>>> - X3DAppearanceNode abstract="true"
>>>> - Metadata*, HAnim* nodes: cannot require @name field or else USE
>>>> nodes fail to validate
>>>> =============================================================================
>>>>
>>>> These assets can be found on the X3D Specifications: XML Schema
>>>> and DOCTYPE Validation page.
>>>>
>>>> http://www.web3d.org/specifications
>>>>
>>>> Full documentation updates have been autogenerated for the XML
>>>> Schema and DOCTYPE validators.
>>>>
>>>> http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3.html
>>>>
>>>> http://www.web3d.org/specifications/X3dDoctypeDocumentation3.3.html
>>>>
>>>> The X3D Working Group also updated the X3D Graphics Standards:
>>>> Specification Relationships diagram to show all major planned
>>>> work.
>>>>
>>>> http://www.web3d.org/specifications/X3dSpecificationRelationships.png
>>>> http://www.web3d.org/specifications/X3dSpecificationRelationships.pdf
>>>>
>>>> Changes are tested through validation regression testing of 3800+
>>>> open source X3D scenes.
>>>>
>>>> http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
>>>>
>>>> Feedback welcome, thanks for all contributions.
>
> 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