Top > Kinect > KinectForWindowsSDK > Tips > DefaultValueOfJointAndTheTrackingState
Last-modified: Fri, 15 Nov 2013 17:13:17 JST
Counter:2610 Today:1 Yesterday:0 Online:7
このエントリーをはてなブックマークに追加

Joint と JointTrackingState の初期値

About

Joint と JointTrackingState の初期値の確認が必要になったので検証しました。特に JointTrackingState は msdn やインテリセンスでは Inferred(推測) が一番上に掲載されます。しかしながら初期値が Infrred であることは非常に問題です。そんな実装はあり得ないだろう、と思いつつも、念のため検証に至った次第です。普通に考えれば NotTracked が初期値として与えられているべきです。先に結論を述べておくと、JointTrackingStateの初期値は NotTracked であることが確認できました。

検証とその結果

次のコードを実行して確認しました。

            Joint joint = new Joint();
            Console.WriteLine(joint.JointType + ", " + joint.TrackingState);
            SkeletonPoint skeletonPoint = new SkeletonPoint();
            Console.WriteLine
                (skeletonPoint.X + ", " + skeletonPoint.Y + ", " + skeletonPoint.Z);
            foreach (JointTrackingState trackingState
                in Enum.GetValues(typeof(JointTrackingState)))
            {
                Console.Write(trackingState + ",");
            }
            Console.WriteLine();

検証結果は次の通りです。JointTrackingStateの初期値は NotTracked であることが確認できました。予想通りで何よりです。

HipCenter, NotTracked
0, 0, 0
NotTracked,Inferred,Tracked,