本文整理汇总了C++中intrusive_ptr::lock方法的典型用法代码示例。如果您正苦于以下问题:C++ intrusive_ptr::lock方法的具体用法?C++ intrusive_ptr::lock怎么用?C++ intrusive_ptr::lock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类intrusive_ptr
的用法示例。
在下文中一共展示了intrusive_ptr::lock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onCameraPreviewFrame
void Application::onCameraPreviewFrame(intrusive_ptr<base::PixelSampleBuffer> const &buffer)
{
/*
static bool tested = false;
if(!tested)
{
intrusive_ptr<common::msg::TrackerInfo> msgTrackerInfo(new common::msg::TrackerInfo());
#if 0
msgTrackerInfo->trackingFeatures.resize(20000, Vec2i(100,100));
msgTrackerInfo->trackingTrails.resize(100, std::make_pair(Vec2i(100,100), Vec2i(200,200)));
msgTrackerInfo->referenceGrid.resize(17*17, Vec2i(10,10));
msgTrackerInfo->referenceGridHalfSize = 8;
{
std::ofstream file("TrackerInfo.msg");
base::OArchive archive(file);
archive & msgTrackerInfo;
}
#else
{
std::ifstream file("TrackerInfo.msg");
base::IArchive archive(file);
archive & msgTrackerInfo;
}
#endif
tested = true;
}
*/
if(buffer->lock())
return;
m_PoseTracker->track(buffer);
buffer->unlock();
if(m_RemoteControlServer.isConnected())
{
intrusive_ptr<common::msg::TrackerInfo> msgTrackerInfo(new common::msg::TrackerInfo());
m_PoseTracker->getTrackingFeatures(msgTrackerInfo->trackingFeatures);
m_PoseTracker->getTrackingTrails(msgTrackerInfo->trackingTrails);
m_PoseTracker->getReferenceGrid(msgTrackerInfo->referenceGrid, 8);
msgTrackerInfo->referenceGridHalfSize = 8;
m_RemoteControlServer.sendMessage(msgTrackerInfo);
static int c = 1;
if(!--c)
{
std::cout << "trackingFeatures.size=" << msgTrackerInfo->trackingFeatures.size() << std::endl;
std::cout << "trackingTrails.size=" << msgTrackerInfo->trackingTrails.size() << std::endl;
c = 30;
}
}
}