IBEO雷达扫描程序


基于IBEO四线雷达的扫描程序,基于VS2008
资源截图
代码片段和文件信息
// IbeoLUX雷达数据采集程序.cpp : 定义控制台应用程序的入口点。
//

// Example program for connecting to a scanner and receiving its scans
#include “stdafx.h“
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
// #include  // needed for AlascaXT laserscanner
// #include  // needed for AlascaXT

// Define an EventMonitor object for thread synchronization
ibeo::EventMonitor g_events;

// Define the events used for synchronization
const ibeo::EventMonitor::Mask g_newScanDataEvent = g_events.newEvent();
const ibeo::EventMonitor::Mask g_cancelEvent = g_events.newEvent();

// Global thread-safe Scan buffer with associated mutex
typedef ibeo::Mutexed MutexedScan;
static MutexedScan g_scan;

// The message handler receives messages from the serializer of the IbeoAPI
bool messageHandler (const Serializable& msg UINT8 fromDeviceID)
{
// Here we are running in the thread context of the IbeoLUX
// receiver thread but not in the main thread.  Therefore we
// will communicate with main() using events through the
// EventMonitor object.

switch (msg.getDataType())
{
case ibeo::DataTypeScanPointList:
{
const Scan& original_scan = dynamic_cast(msg);
// Copy the received scan to the thread-safe local buffer
bool copiedSuccessfully = g_scan.tryCopy (original_scan);
if (copiedSuccessfully)
{
// Received scan was copied to local buffer hence
// signal this arrival to the main thread.
g_events.signal (g_newScanDataEvent);
}
else
{
std::cout << “Scan buffer locked - cannot copy Laserscanner‘s Scan to buffer skipping this Scan.“ << std::endl;
}
}
break;

default:
// Ignore all other data types
break;
}

// Return true as long as we want to receive messages from the serializer.
return true;
}

// Do something with the scan as an example here
bool processScan()
{
// Lock the scan buffer to synchronize the access.
MutexedScan::scoped_try_lock criticalSection (g_scan.mutex);
bool lockObtained = criticalSection; // true if we acquired the lock
// This is the simplest case which works if we can be sure always
// that our processScan() method is finished before the next
// messageHandler() call might occur. If this is not the case
// another buffer policy (double-buffering or a ring buffer) might
// be more appropriate.
if (lockObtained)
{
// Local buffer has been locked hence it can be accessed now.
const Scan& scan = g_scan.data;
std::cout << “Scan “ << scan.getScanNumber()
<< “ received “ << scan.getNumPoints() << “ points“;
if (scan.getNumPoints() > 0)
{
const ScanPoint& p = scan.getPoint(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-04-01 23:33  IbeoLUX雷达数据采集程序(线程安全版)
     目录           0  2013-04-24 21:20  IbeoLUX雷达数据采集程序(线程安全版)Debug
     文件    10914816  2013-04-24 21:20  IbeoLUX雷达数据采集程序(线程安全版)DebugIbeoLUX雷达数据采集程序.pdb
     目录           0  2013-04-01 23:35  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序
     文件    20810752  2013-04-24 21:26  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序.ncb
     文件         959  2012-05-16 17:04  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序.sln
     文件       19456  2013-04-24 21:26  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序.suo
     目录           0  2013-04-24 21:20  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Debug
     文件       19686  2013-04-24 21:20  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序DebugBuildLog.htm
     文件         915  2012-05-16 17:15  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序DebugIbeoLUX雷达数据采集程序.exe.embed.manifest
     文件         980  2012-05-16 17:15  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序DebugIbeoLUX雷达数据采集程序.exe.embed.manifest.res
     文件         621  2013-04-24 21:20  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序DebugIbeoLUX雷达数据采集程序.exe.intermediate.manifest
     文件     1162621  2012-05-16 17:14  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序DebugIbeoLUX雷达数据采集程序.obj
     文件     3211264  2012-05-16 17:12  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序DebugIbeoLUX雷达数据采集程序.pch
     文件          67  2012-05-16 17:15  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Debugmt.dep
     文件       13417  2012-05-16 17:12  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Debugstdafx.obj
     文件     2460672  2012-05-16 17:14  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Debugvc90.idb
     文件     1773568  2012-05-16 17:14  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Debugvc90.pdb
     文件        7826  2012-05-16 17:14  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序IbeoLUX雷达数据采集程序.cpp
     文件        5178  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序IbeoLUX雷达数据采集程序.vcproj
     文件        1435  2013-04-24 21:26  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序IbeoLUX雷达数据采集程序.vcproj.20110624-1441.Administrator.user
     文件        1474  2013-03-27 13:24  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序IbeoLUX雷达数据采集程序.vcproj.Z3ORWGDQNJBOKCB.Administrator.user
     文件        1327  2012-05-16 17:04  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序ReadMe.txt
     目录           0  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Release
     文件       10360  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序ReleaseBuildLog.htm
     文件         616  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序ReleaseIbeoLUX雷达数据采集程序.exe.intermediate.manifest
     文件     3276092  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序ReleaseIbeoLUX雷达数据采集程序.obj
     文件     3211264  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序ReleaseIbeoLUX雷达数据采集程序.pch
     文件          67  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Releasemt.dep
     文件       37974  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Releasestdafx.obj
     文件     1051648  2013-04-02 18:49  IbeoLUX雷达数据采集程序(线程安全版)IbeoLUX雷达数据采集程序Releasevc90.idb
............此处省略15个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)