[x3d-public] Mantis 1415: HAnimMotion issues: skeletalConfiguration, totalNumberFrames

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Mon Dec 26 22:15:36 PST 2022


John: don’t worry please.  There is no substitute for looking at the
references when we are considering correctness and completeness of the
references.



Components and profiles are handled separately, found in the last table of
each and every clause in the specification.



Infinite lengths and infinite values don’t occur.  There are plenty of
fields that have such limits on allowed values.  [0,+infinity) means a value
ranging from zero (inclusive) to any upper value.  You can find an
explanation of this nomenclature at



*	X3D Tooltips: Range Intervals
*	https://www.web3d.org/x3d/tooltips/X3dTooltips.html#RangeIntervals

 <https://www.web3d.org/x3d/tooltips/X3dTooltips.html#RangeIntervals> Range
Intervals may be defined to indicate lower and upper bounds on allowed
attribute values. These are typically defined by the X3D Architecture
Specification in order to avoid illegal or illogical results. Value
constraints being within allowed range intervals are checked by schema
validation tools (but not XML DTD). Example range intervals:

*	[0,1]     places limits on an allowed value from range 0 to 1,
inclusive.
*	(0,+∞)   is positive, i.e. greater than zero and less than positive
infinity.
*	[0,+∞)   is non-negative, i.e. greater than or equal to zero, and
less than positive infinity.
*	[-1,+∞) is greater than or equal to -1.
*	(-∞,+∞) is unbounded, any numeric value is allowed.

Regarding the suggested changes, here is another explanation:



The skeletalConfiguration parameter is a label that authors can give a
skeleton.  Matching labels seems like a good practice to help confirm that
size of an HAnimMotion node matches the parent HAnimHumanoid node.



The totalNumberFrames would simply allow dividing a (potentially quite
large) MFFloat values array into the correct number of frames (rows) so that
the correct number of joint-rotation animation values are provided at each
frame index.  While implementing support for this node in X3D-Edit, it
seemed like the other values provided are ambiguous.  Perhaps “channels”
can be used, which list names and types for each channel of data.  Adding up
the counts (3 values for a single position, 4 values for each rotation)
seems plausible but also error prone.  Thus am suggesting an explicit field
to confirm correctness of the data.  Perhaps other implementers can suggest
what worked for them.



As ever, thanks for considering the possibilities.  Have fun with HAnim2 and
X3D4!  8)



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 https://
faculty.nps.edu/brutzman



From: John Carlson <yottzumm at gmail.com>
Sent: Monday, December 26, 2022 6:41 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics public
mailing list <x3d-public at web3d.org>
Subject: Re: [x3d-public] Mantis 1415: HAnimMotion issues:
skeletalConfiguration, totalNumberFrames



I haven’t looked at online references, but infinite lengths scare me,
there should be a component level or profile maximum.



On Mon, Dec 26, 2022 at 8:19 PM Brutzman, Donald (Don) (CIV)
<brutzman at nps.edu <mailto:brutzman at nps.edu> > wrote:

Comment requested.



*	https://www.web3d.org/member-only/mantis/view.php?id=1415

1. HAnimMotion should have a skeletalConfiguration field similar to
HAnimHumanoid to facilitate interoperability.

SFString [in out] skeletalConfiguration "BASIC"

* HAnim2 vol. 1, 4.8 Modelling of humanoids
*
<https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/conc
epts.html#ModellingOfHumanoids>
https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/conce
pts.html#ModellingOfHumanoids

* X3D Architecture, 26.3.2 HAnimHumanoid
*
<https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01
/components/hanim.html#HAnimHumanoid>
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/
components/hanim.html#HAnimHumanoid

----

2. Need a field describing number of rows in a motion value array, otherwise
(if no channelsEnabled array is provided) there is no unambiguous way to
determine the correct value. Suggested:

SFInt32 [in out] totalNumberFrames [0, +infinity)

* HAnim2 vol. 2, 6.3 Data structure of Motion object
*
<https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimati
on/MotionNodes.html#MotionObject>
https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimatio
n/MotionNodes.html#MotionObject

* X3D Architecture, 26.3.4 HAnimMotion
*
<https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01
/components/hanim.html#HAnimMotion>
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/
components/hanim.html#HAnimMotion

----

3. If accepted, each of these needs a corresponding Mantis comment for
future revision of HAnim2.



all the best, Don

--

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu
<mailto:brutzman at nps.edu>

Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149

X3D graphics, virtual worlds, Navy robotics https://
faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman>



_______________________________________________
x3d-public mailing list
x3d-public at web3d.org <mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20221227/a1eb11ef/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5353 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20221227/a1eb11ef/attachment-0001.p7s>


More information about the x3d-public mailing list