JointType 列挙型を値ごとにソートして出力する(違和感がある)

マイクロソフトの許可を得て使用しています。Microsoft.com をご覧ください。

msdn(公式) のリファレンスでは、JointType はアルファベット順にソートされています。 値型の順で確認したかったので、ソートして出力しました。

JointType Enumeration - msdn

(JointType)列挙型の走査は次のようにして実装することができます。

foreach (JointType jointType in Enum.GetValues(typeof(JointType)))
{
    jointType に対する操作
}
列挙型のすべての値を走査するコード

値順にソートすると違和感が

次の表が値順にソートされた JointType 列挙型です。 v1 (SDK1.8) までに骨格情報を利用したことがある方、 あるいは3DCG の人体モデルを扱ったことがある方は特に、この順に違和感を覚えると思います。

3DCG では多くの場合に(SDK1.8 までは)、腰を基準にして外向きに骨格を繋いでゆきます。 しかし SDK2.0 で確認できるこの結果では、SpineShoulder がなぜか 20 番目にあり、 さらに手(Hand)の先に繋がっている、ThumbLeftHandTipLeft が 23 と 24 番目にあります。

SpineBase > SpineMid > SpineShoulder > Neck と続く方が自然ですし、 WristLeft > HandLeft> ThumbLeft の方が自然だと思うのは私だけでしょうか。 どうにも後からとってつけたような位置にいるような。今後実装形態が変わるような気がしてなりません。

値でソートした JointType Enumeration
MembarValueMemberValue
SpineBase0HipLeft12
SpineMid1KneeLeft13
Neck2AnkleLeft14
Head3FootLeft15
ShoulderLeft4HipRight16
ElbowLeft5KneeRight17
WristLeft6AnkleRight18
HandLeft7FootRight19
ShoulderRight8SpineShoulder20
ElbowRight9HandTipLeft21
WristRight10ThumbLeft22
HandRight11HandTipRight23
ThumbRight24