資源簡介
基于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.“?< }
}
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?“?< <“?received?“?< 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雷達數據采集程序(線程安全版)\Debug\IbeoLUX雷達數據采集程序.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雷達數據采集程序\Debug\BuildLog.htm
?????文件?????????915??2012-05-16?17:15??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\IbeoLUX雷達數據采集程序.exe.em
?????文件?????????980??2012-05-16?17:15??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\IbeoLUX雷達數據采集程序.exe.em
?????文件?????????621??2013-04-24?21:20??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\IbeoLUX雷達數據采集程序.exe.intermediate.manifest
?????文件?????1162621??2012-05-16?17:14??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\IbeoLUX雷達數據采集程序.obj
?????文件?????3211264??2012-05-16?17:12??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\IbeoLUX雷達數據采集程序.pch
?????文件??????????67??2012-05-16?17:15??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\mt.dep
?????文件???????13417??2012-05-16?17:12??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\stdafx.obj
?????文件?????2460672??2012-05-16?17:14??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\vc90.idb
?????文件?????1773568??2012-05-16?17:14??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Debug\vc90.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雷達數據采集程序\Release\BuildLog.htm
?????文件?????????616??2013-04-02?18:49??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Release\IbeoLUX雷達數據采集程序.exe.intermediate.manifest
?????文件?????3276092??2013-04-02?18:49??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Release\IbeoLUX雷達數據采集程序.obj
?????文件?????3211264??2013-04-02?18:49??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Release\IbeoLUX雷達數據采集程序.pch
?????文件??????????67??2013-04-02?18:49??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Release\mt.dep
?????文件???????37974??2013-04-02?18:49??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Release\stdafx.obj
?????文件?????1051648??2013-04-02?18:49??IbeoLUX雷達數據采集程序(線程安全版)\IbeoLUX雷達數據采集程序\Release\vc90.idb
............此處省略15個文件信息
- 上一篇:東南亞地圖shp格式
- 下一篇:西安交大模擬電子技術基礎課件
評論
共有 條評論