资源简介
PCL与MFC配合编译,Static控件嵌入PCL的PCLVisual
代码片段和文件信息
#include “stdafx.h“
#include “basePCL.h“
CbasePCL::CbasePCL(boost::shared_ptr pStatic)
{
m_pStatic = pStatic;
//关闭VTK白色警告窗体
vtkSmartPointer reader = vtkSmartPointer::New();
reader->GlobalWarningDisplayOff();
reader->SetGlobalWarningDisplay(0);
//reader->SetGlobalWarningDisplay();
reader->Update();
m_pPointCloudLeft.reset(new pcl::PointCloud());
m_pPointCloudLeft->width = 1;
m_pPointCloudLeft->height = 100000;
m_pPointCloudLeft->resize(100000);
m_pPointCloudLeft->is_dense = true;
m_pPointCloudRight.reset(new pcl::PointCloud());
m_pPointCloudRight->width = 1;
m_pPointCloudRight->height = 100000;
m_pPointCloudRight->resize(100000);
m_pPointCloudRight->is_dense = true;
m_pViewer.reset(new pcl::visualization::PCLVisualizer(“cloud“ false));
m_pViewer->setBackgroundColor(0.184 0.308 0.308);
m_pRenderWindow = m_pViewer->getRenderWindow();
m_pRenderWindow->SetParentId(pStatic->m_hWnd);
CRect rect;
pStatic->GetWindowRect(&rect);
m_pRenderWindow->SetSize(rect.right - rect.left rect.bottom - rect.top);
m_pRenderWindow->SetPosition(10 10);
m_pRenderWindowInteractor = vtkRenderWindowInteractor::New();
m_pRenderWindowInteractor->SetRenderWindow(m_pRenderWindow);
m_pViewer->createInteractor();
m_pRenderWindow->Render();
m_pViewer->addCoordinateSystem();
m_hLeftEvent = CreateEvent(NULL FALSE FALSE NULL);
m_hRightEvent = CreateEvent(NULL FALSE FALSE NULL);
m_hLeftThread = CreateThread(NULL 0 ThreadLeft this 0 NULL);
m_hRightThread = CreateThread(NULL 0 ThreadRight this 0 NULL);
}
CbasePCL::~CbasePCL()
{
if (m_pStatic)
{
m_pStatic.reset();
m_pStatic = NULL;
}
}
void CbasePCL::SendAnalyzeDataLeft(void *pData int nLen bool bEOF)
{
static int nLeftMaxAzimuth = 0;
static int nLeftIndex = 0;
if (pData == NULL)
{
}
if (nLen == 554)
{
}
else if (nLen == 1248)
{
for (int i = 0; i < 12; i++)
{
if (*((unsigned char *)pData + 42 + i * 100) == 0xff && *((unsigned char *)pData + 43 + i * 100) == 0xee)
{
int nAzimuth = (*((unsigned char *)pData + 44 + i * 100) + *((unsigned char *)pData + 45 + i * 100) * 256);
if (nLeftMaxAzimuth < nAzimuth)
{
nLeftMaxAzimuth = nAzimuth;
}
else
{
RedrawPointCloudLeft();
nLeftIndex = 0;
nLeftMaxAzimuth = 0;
}
for (int j = 0; j < 32; j++)
{
tagAngleData_Info tagAngleDataInfo;
tagAngleDataInfo.fAzimuth = nAzimuth*0.01;
tagAngleDataInfo.fVertical = Laser_VerticalAngle[j];
tagAngleDataInfo.fDistance = (*((unsigned char *)pData + 46 + j * 3 + i * 100) + *((unsigned char *)pData + 47 + j * 3 + i * 100) * 256)*0.002;
tagAngleDataInfo.nIntensity = *((unsigned char *)pData + 48 + j * 3 + i * 100);
pcl::PointXYZI pointXYZI;
pointXYZI.x = tagAngleDataInfo.fDistance*cos(tagAngleDataInfo.fVertical*M_PI / 180)*s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8336 2019-03-29 21:44 PCL_Test\ba
文件 2684 2019-03-29 20:57 PCL_Test\ba
文件 387 2019-03-27 22:08 PCL_Test\Debug\PCL_Test.Build.CppClean.log
文件 1300 2019-03-27 22:12 PCL_Test\Debug\PCL_Test.log
文件 2176008 2019-03-27 22:10 PCL_Test\Debug\PCL_Test.obj
文件 42991616 2019-03-27 22:08 PCL_Test\Debug\PCL_Test.pch
文件 3266 2019-03-27 22:12 PCL_Test\Debug\PCL_Test.tlog\cl.command.1.tlog
文件 1042824 2019-03-27 22:12 PCL_Test\Debug\PCL_Test.tlog\CL.read.1.tlog
文件 1744 2019-03-27 22:12 PCL_Test\Debug\PCL_Test.tlog\CL.write.1.tlog
文件 153 2019-03-27 22:11 PCL_Test\Debug\PCL_Test.tlog\PCL_Test.lastbuildstate
文件 0 2019-03-27 22:11 PCL_Test\Debug\PCL_Test.tlog\unsuccessfulbuild
文件 2173629 2019-03-27 22:10 PCL_Test\Debug\PCL_TestDlg.obj
文件 902089 2019-03-27 22:08 PCL_Test\Debug\stdafx.obj
文件 13175808 2019-03-27 22:12 PCL_Test\Debug\vc120.idb
文件 20369408 2019-03-27 22:12 PCL_Test\Debug\vc120.pdb
文件 108376 2019-03-29 21:14 PCL_Test\PCL_Test.aps
文件 2402 2019-03-26 20:32 PCL_Test\PCL_Test.cpp
文件 455 2019-03-26 19:31 PCL_Test\PCL_Test.h
文件 10528 2019-03-29 21:14 PCL_Test\PCL_Test.rc
文件 22314 2019-03-27 22:21 PCL_Test\PCL_Test.vcxproj
文件 2242 2019-03-26 20:25 PCL_Test\PCL_Test.vcxproj.filters
文件 394 2019-03-29 21:13 PCL_Test\PCL_Test.vcxproj.user
文件 8074 2019-03-29 21:53 PCL_Test\PCL_TestDlg.cpp
文件 1584 2019-03-29 21:29 PCL_Test\PCL_TestDlg.h
文件 4055 2019-03-26 19:31 PCL_Test\ReadMe.txt
....... 67777 2013-07-22 01:18 PCL_Test\res\PCL_Test.ico
文件 672 2019-03-26 19:31 PCL_Test\res\PCL_Test.rc2
文件 1510 2019-03-29 20:16 PCL_Test\resource.h
文件 141 2019-03-26 19:31 PCL_Test\stdafx.cpp
文件 1578 2019-03-26 19:31 PCL_Test\stdafx.h
............此处省略32个文件信息
相关资源
- [MFC]很好用的图片浏览器
- VC++ MFC 图书馆管理系统
- 最短路径查寻
- MFC中调用CUDA及配置等
- 基于MFC+MySql的个人健康管理系统
- MFC实现用四阶龙格库塔求解微分方程
- AES MFC
- MFC停车场管理系统项目
- 基于MFC实现BMP的显示24色变灰
- MFC邮件客户端支持收发邮件
- Visual C++ MFC 源代码大全
- 兄弟彩色打印机 DCP-9020CDN MFC-9140CDN-
- 在MFC框架中使用Coin3D
- MFC使用ADO方式操作Access数据库
- MFC/GDI+绘制倾斜的椭圆
- WAV转换成MP3音频文件 C++ vc MFC
- 《MFC游戏开发》笔记九 碰撞检测 怪物
- MFC游戏开发6by七十一雾央
- MFC+开发人员指南.pdf
- MFC 套接字Socket文件传输
- 源代码——MFC的WebBrowser控件 C++与ja
- 基于mfc和sql的学生信息管理系统
- MFC c++ 实现简易电话簿
- visual c++ 自绘控件 菜单 MFC界面 资源
- 兄弟 DCP-7080 7080D 7180DN MFC7380 7480D 788
- 基于数据库的MFC登陆验证系统
- vc++之mfc屏幕监控系统源代码
- mfc下实现的学生成绩管理系统
- C++ MFC连接数据库(VisualStudio开发)
- 整理C++实现excel和wps表格读写
评论
共有 条评论