本文整理汇总了C++中leap::Frame::images方法的典型用法代码示例。如果您正苦于以下问题:C++ Frame::images方法的具体用法?C++ Frame::images怎么用?C++ Frame::images使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类leap::Frame
的用法示例。
在下文中一共展示了Frame::images方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void ImageApp::draw()
{
gl::setViewport( getWindowBounds() );
gl::clear( Colorf::white() );
gl::setMatricesWindow( getWindowSize() );
gl::color( ColorAf::white() );
size_t i = 0;
const Leap::ImageList& images = mFrame.images();
for ( Leap::ImageList::const_iterator iter = images.begin(); iter != images.end(); ++iter, ++i ) {
const Leap::Image& img = *iter;
Channel8u channel = LeapMotion::toChannel8u( img );
gl::draw( gl::Texture::create( channel ), channel.getBounds(), getWindowBounds() );
}
mParams->draw();
}
示例2: InterfaceEventTick
//.........这里部分代码省略.........
pastHandState.pinched = pinched;
pastHandState.fingerCount = fingerCount;
_private->pastState.setStateForId(pastHandState, hand.id());
}
_private->pastState.handCount = handCount;
//Gestures
for (int i = 0; i < frame.gestures().count(); i++)
{
Leap::Gesture gesture = frame.gestures()[i];
Leap::Gesture::Type type = gesture.type();
switch (type)
{
case Leap::Gesture::TYPE_CIRCLE:
if (_private->eventCircleGesture == NULL){
_private->eventCircleGesture = NewObject<ULeapCircleGesture>(this);
_private->eventCircleGesture->SetFlags(RF_RootSet);
}
_private->eventCircleGesture->setGesture(Leap::CircleGesture(gesture));
ILeapEventInterface::Execute_CircleGestureDetected(_private->interfaceDelegate, _private->eventCircleGesture);
_private->eventGesture = _private->eventCircleGesture;
break;
case Leap::Gesture::TYPE_KEY_TAP:
if (_private->eventKeyTapGesture == NULL)
{
_private->eventKeyTapGesture = NewObject<ULeapKeyTapGesture>(this);
_private->eventKeyTapGesture->SetFlags(RF_RootSet);
}
_private->eventKeyTapGesture->setGesture(Leap::KeyTapGesture(gesture));
ILeapEventInterface::Execute_KeyTapGestureDetected(_private->interfaceDelegate, _private->eventKeyTapGesture);
_private->eventGesture = _private->eventKeyTapGesture;
break;
case Leap::Gesture::TYPE_SCREEN_TAP:
if (_private->eventScreenTapGesture == NULL)
{
_private->eventScreenTapGesture = NewObject<ULeapScreenTapGesture>(this);
_private->eventScreenTapGesture->SetFlags(RF_RootSet);
}
_private->eventScreenTapGesture->setGesture(Leap::ScreenTapGesture(gesture));
ILeapEventInterface::Execute_ScreenTapGestureDetected(_private->interfaceDelegate, _private->eventScreenTapGesture);
_private->eventGesture = _private->eventScreenTapGesture;
break;
case Leap::Gesture::TYPE_SWIPE:
if (_private->eventSwipeGesture == NULL)
{
_private->eventSwipeGesture = NewObject<ULeapSwipeGesture>(this);
_private->eventSwipeGesture->SetFlags(RF_RootSet);
}
_private->eventSwipeGesture->setGesture(Leap::SwipeGesture(gesture));
ILeapEventInterface::Execute_SwipeGestureDetected(_private->interfaceDelegate, _private->eventSwipeGesture);
_private->eventGesture = _private->eventSwipeGesture;
break;
default:
break;
}
//emit gesture
if (type != Leap::Gesture::TYPE_INVALID)
{
ILeapEventInterface::Execute_GestureDetected(_private->interfaceDelegate, _private->eventGesture);
}
}
//Image
if (_private->allowImages && _private->imageEventsEnabled)
{
int imageCount = frame.images().count();
for (int i = 0; i < imageCount; i++)
{
Leap::Image image = frame.images()[i];
//Loop modification - Only emit 0 and 1, use two different pointers so we can get different images
if (i == 0)
{
if (_private->eventImage1 == NULL)
{
_private->eventImage1 = NewObject<ULeapImage>(this);
_private->eventImage1->SetFlags(RF_RootSet);
}
_private->eventImage1->setLeapImage(image);
ILeapEventInterface::Execute_RawImageReceived(_private->interfaceDelegate, _private->eventImage1->Texture(), _private->eventImage1);
}
else if (i == 1)
{
if (_private->eventImage2 == NULL)
{
_private->eventImage2 = NewObject<ULeapImage>(this);
_private->eventImage2->SetFlags(RF_RootSet);
}
_private->eventImage2->setLeapImage(image);
ILeapEventInterface::Execute_RawImageReceived(_private->interfaceDelegate, _private->eventImage2->Texture(), _private->eventImage2);
}
}
}
}
示例3: ParseEvents
//.........这里部分代码省略.........
PEventCircleGesture->AddToRoot();
}
PEventCircleGesture->SetGesture(Leap::CircleGesture(Gesture));
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_CircleGestureDetected(EventDelegate, PEventCircleGesture);
});
PEventGesture = PEventCircleGesture;
break;
case Leap::Gesture::TYPE_KEY_TAP:
if (PEventKeyTapGesture == nullptr)
{
PEventKeyTapGesture = NewObject<ULeapKeyTapGesture>();
PEventKeyTapGesture->AddToRoot();
}
PEventKeyTapGesture->SetGesture(Leap::KeyTapGesture(Gesture));
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_KeyTapGestureDetected(EventDelegate, PEventKeyTapGesture);
});
PEventGesture = PEventKeyTapGesture;
break;
case Leap::Gesture::TYPE_SCREEN_TAP:
if (PEventScreenTapGesture == nullptr)
{
PEventScreenTapGesture = NewObject<ULeapScreenTapGesture>();
PEventScreenTapGesture->AddToRoot();
}
PEventScreenTapGesture->SetGesture(Leap::ScreenTapGesture(Gesture));
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_ScreenTapGestureDetected(EventDelegate, PEventScreenTapGesture);
});
PEventGesture = PEventScreenTapGesture;
break;
case Leap::Gesture::TYPE_SWIPE:
if (PEventSwipeGesture == nullptr)
{
PEventSwipeGesture = NewObject<ULeapSwipeGesture>();
PEventSwipeGesture->AddToRoot();
}
PEventSwipeGesture->SetGesture(Leap::SwipeGesture(Gesture));
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_SwipeGestureDetected(EventDelegate, PEventSwipeGesture);
});
PEventGesture = PEventSwipeGesture;
break;
default:
break;
}
//emit gesture
if (Type != Leap::Gesture::TYPE_INVALID)
{
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_GestureDetected(EventDelegate, PEventGesture);
});
}
}
//Image
if (ControllerData.bAllowImageEvents && ControllerData.bImageEventsEnabled)
{
int ImageCount = Frame.images().count();
//We only support getting both images
if (ImageCount >= 2)
{
Leap::Image Image1 = Frame.images()[0];
if (PEventImage1 == nullptr)
{
PEventImage1 = NewObject<ULeapImage>();
PEventImage1->AddToRoot();
}
PEventImage1->UseGammaCorrection = ControllerData.bUseGammaCorrection;
PEventImage1->SetLeapImage(Image1);
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_RawImageReceived(EventDelegate, PEventImage1->Texture(), PEventImage1);
});
Leap::Image Image2 = Frame.images()[1];
if (PEventImage2 == nullptr)
{
PEventImage2 = NewObject<ULeapImage>();
PEventImage2->AddToRoot();
}
PEventImage2->UseGammaCorrection = ControllerData.bUseGammaCorrection;
PEventImage2->SetLeapImage(Image2);
CallFunctionOnDelegates([&](UObject* EventDelegate)
{
ILeapEventInterface::Execute_RawImageReceived(EventDelegate, PEventImage2->Texture(), PEventImage2);
});
}
}
}