JointCollectionExについて
Now Editing!
JointCollectionExとは
JointCollectionExとは簡単に、JointCollectionと同等の機能+少しの拡張機能を持ったクラスです。基本的にはJointCollectionと同じ様に扱われます。
なぜJointCollectionではないのか
EKLを利用する上で頻繁に扱われる「JointCollectionExクラス」ですが、MSから公式で用意される、JointCollectionではなくJointCollectionExである理由があります。JointCollectionクラスは、任意のインスタンスを生成できず(2012.10.19,SDK1.6時点)、例えばJointCollectionのデータを保存し、再度読み込んでJointCollectionのインスタンスを生成することなどができません。これは引数を取らないコンストラクタがJointCollectionに用意(公開)されていないためで、回避する事の出来ない問題です。これはつまり、継承によって機能を拡張する事ができないことも意味します。そのためEKLではJointCollectionExを用意しています。
JointCollectionExからJointを取得する
JointCollectionExからJointを取得する場合には、JointCollectionと同様に扱います。
JointCollectionEx[JointType.Joint]
JointCollectionExに定義される基本的なJoint「DefaultJoint」
JointCollectionは基本的なJointのインスタンスを生成するプロパティがあります。「DefaultJointプロパティ」によって得られるJointのインスタンスは、TrackingScore.NotTracked、Position=SkeletonPointExtensions.ZeroPoint(=0,0,0)を示します。
JointCollectionEx.DefaultJoint;