本文整理汇总了C++中Kinect::skeletons方法的典型用法代码示例。如果您正苦于以下问题:C++ Kinect::skeletons方法的具体用法?C++ Kinect::skeletons怎么用?C++ Kinect::skeletons使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Kinect
的用法示例。
在下文中一共展示了Kinect::skeletons方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openflkinect_update_skeletons
static value openflkinect_update_skeletons(value ref)
{
val_check_kind(ref, k_Kinect);
Kinect* k = static_cast<Kinect*>(val_data(ref));
vector<Skeleton> trackedSkels = k->skeletons();
value skeletons = alloc_array(trackedSkels.size());
for ( int i=0; i<trackedSkels.size(); i++ )
{
Skeleton& s = trackedSkels[i];
value skeleton = alloc_empty_object();
val_array_set_i(skeletons, i, skeleton);
if ( trackedSkels[i].size() > 0 )
{
alloc_field( skeleton, val_id( "isTracked" ),
alloc_bool( true ) );
value bones = alloc_array( trackedSkels[i].size() );
alloc_field(skeleton, val_id("bones"), bones);
for ( int j=0; j<trackedSkels[i].size(); j++ )
{
int k = 0;
for ( boneIt it = trackedSkels[i].begin();
it != trackedSkels[i].end(); ++it )
{
//cout << it->second.orientation.startJoint << endl;
value b = get_bone(it->second);
val_array_set_i(bones, k++, b);
}
}
}
else
{
alloc_field( skeleton, val_id( "isTracked" ),
alloc_bool( false ) );
}
}
return skeletons;
}