本文整理汇总了C++中Kinect::interactionInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ Kinect::interactionInfo方法的具体用法?C++ Kinect::interactionInfo怎么用?C++ Kinect::interactionInfo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Kinect
的用法示例。
在下文中一共展示了Kinect::interactionInfo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openflkinect_update_interactions
static value openflkinect_update_interactions(value ref)
{
val_check_kind(ref, k_Kinect);
Kinect* k = static_cast<Kinect*>(val_data(ref));
vector<NUI_USER_INFO> userInfos = k->interactionInfo();
value users = alloc_array(userInfos.size());
for ( int i=0; i<userInfos.size(); i++ )
{
NUI_USER_INFO& s = userInfos[i];
value user = alloc_empty_object();
val_array_set_i(users, i, user);
if ( userInfos[i].SkeletonTrackingId > 0 )
{
alloc_field( user, val_id( "isTracked" ),
alloc_bool( true ) );
alloc_field( user, val_id("skeletonTrackingId"),
alloc_int(userInfos[i].SkeletonTrackingId ));
value hands = alloc_array( NUI_USER_HANDPOINTER_COUNT );
alloc_field( user, val_id("handPointerInfos"),
hands);
for ( int j=0; j<NUI_USER_HANDPOINTER_COUNT; j++ )
{
value hand = alloc_empty_object();
val_array_set_i(hands, j, hand);
alloc_field( hand, val_id("handTypeEvent"),
alloc_float( userInfos[i].HandPointerInfos[j].HandEventType ));
alloc_field( hand, val_id("handType"),
alloc_float( userInfos[i].HandPointerInfos[j].HandType ));
alloc_field( hand, val_id("pressExtent"),
alloc_float( userInfos[i].HandPointerInfos[j].PressExtent ));
alloc_field( hand, val_id("rawX"),
alloc_float( userInfos[i].HandPointerInfos[j].RawX ));
alloc_field( hand, val_id("rawY"),
alloc_float( userInfos[i].HandPointerInfos[j].RawY ));
alloc_field( hand, val_id("rawZ"),
alloc_float( userInfos[i].HandPointerInfos[j].RawZ ));
alloc_field( hand, val_id("state"),
alloc_float( userInfos[i].HandPointerInfos[j].State ));
alloc_field( hand, val_id("x"),
alloc_float( userInfos[i].HandPointerInfos[j].X ));
alloc_field( hand, val_id("y"),
alloc_float( userInfos[i].HandPointerInfos[j].Y ));
val_array_set_i(hands, j, hand);
}
}
else
{
alloc_field( user, val_id( "isTracked" ), alloc_bool( false ) );
}
}
return users;
}