diff --git a/Classes/PointCloudData.cpp b/Classes/PointCloudData.cpp index c68f3fc..aafb2d7 100644 --- a/Classes/PointCloudData.cpp +++ b/Classes/PointCloudData.cpp @@ -68,3 +68,29 @@ void PointCloudData::setNum() num++; } +QColor PointCloudData::getColor() +{ + return color; +} + +void PointCloudData::setColor(QColor colorArg) +{ + color = colorArg; +} + +float PointCloudData::getXAxis() +{ + return xAxis; +} + +float PointCloudData::getZAxis() +{ + return zAxis; +} + +void PointCloudData::setAxises(float xArg,float zArg) +{ + xAxis = xArg; + zAxis = zArg; +} + diff --git a/Classes/PointCloudData.h b/Classes/PointCloudData.h index 2a46df3..a48ebdb 100644 --- a/Classes/PointCloudData.h +++ b/Classes/PointCloudData.h @@ -18,6 +18,8 @@ private: std::vector indices; Ui::ReconstructionClass ui; int num;// 用于框选删除点云的名称 + QColor color = Qt::yellow; + float xAxis, zAxis; public: static PointCloudData* getInstance(); @@ -33,4 +35,9 @@ public: void setUI(Ui::ReconstructionClass uiArg); int getNum(); void setNum(); + QColor getColor(); + void setColor(QColor colorArg); + float getXAxis(); + float getZAxis(); + void setAxises(float xArg,float zArg); }; diff --git a/Classes/Reconstruction.cpp b/Classes/Reconstruction.cpp index 2df9769..67a4ddf 100644 --- a/Classes/Reconstruction.cpp +++ b/Classes/Reconstruction.cpp @@ -40,6 +40,71 @@ void pp_callback(const visualization::AreaPickingEvent& event, void* args) } } +// Returns the rotation matrix around a vector placed at a point , rotate by angle t +Eigen::Matrix4f rot_mat(const Eigen::Vector3f& point, const Eigen::Vector3f& vector, const float t) +{ + float u = vector(0); + float v = vector(1); + float w = vector(2); + float a = point(0); + float b = point(1); + float c = point(2); + + Eigen::Matrix4f matrix; + matrix << u * u + (v * v + w * w) * cos(t), u * v * (1 - cos(t)) - w * sin(t), u * w * (1 - cos(t)) + v * sin(t), (a + * (v * v + w * w) - u * (b * v + c * w)) * (1 - cos(t)) + (b * w - c * v) * sin(t), + u * v * (1 - cos(t)) + w * sin(t), v * v + (u * u + w * w) * cos(t), v * w * (1 - cos(t)) - u * sin(t), (b * (u + * u + w * w) - v * (a * u + c * w)) * (1 - cos(t)) + (c * u - a * w) * sin(t), + u * w * (1 - cos(t)) - v * sin(t), v * w * (1 - cos(t)) + u * sin(t), w * w + (u * u + v * v) * cos(t), (c * (u + * u + v * v) - w * (a * u + b * v)) * (1 - cos(t)) + (a * v - b * u) * sin(t), + 0, 0, 0, 1; + return matrix; +} + +void keyboardEventOccurred(const visualization::KeyboardEvent& event, void* nothing) +{ + PointCloud::Ptr transformed_cloud(new PointCloud()); + + auto pclData = PointCloudData::getInstance(); + PointCloud::Ptr cloudPtr(new PointCloud); + cloudPtr = pclData->getCloud().makeShared(); + + Eigen::Vector3f point(pclData->getXAxis(), 0, pclData->getZAxis()); + Eigen::Vector3f vector(0, 1, 0); + Eigen::Matrix4f transform = Eigen::Matrix4f::Identity(); + if ((event.getKeySym() == "Right" || event.getKeySym() == "Left") && event.keyDown()) + { + if (event.getKeySym() == "Right") + { + float theta = -M_PI / 36; // 弧度角 + // Z 轴上旋转 theta 弧度 + transform = rot_mat(point, vector, theta); + } + else if (event.getKeySym() == "Left") + { + float theta = M_PI / 36; // 弧度角 + // Z 轴上旋转 theta 弧度 + transform = rot_mat(point, vector, theta); + } + + transformPointCloud(*cloudPtr, *transformed_cloud, transform); + + pclData->getViewer()->removeAllPointClouds(); + auto color = pclData->getColor(); + auto x = int(color.redF() * 255); + auto y = int(color.greenF() * 255); + auto z = int(color.blueF() * 255); + double size = 1; + visualization::PointCloudColorHandlerCustom cloud_color(transformed_cloud, x, y, z); // 统一处理点云颜色 + pclData->getViewer()->addPointCloud(transformed_cloud, cloud_color, "cloud"); + pclData->getViewer()-> + setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, size, "cloud"); + pclData->getUI().qvtkWidget->SetRenderWindow(pclData->getViewer()->getRenderWindow()); + pclData->getUI().qvtkWidget->update(); + pclData->setCloud(*transformed_cloud); + } +} + Reconstruction::Reconstruction(QWidget* parent) : QMainWindow(parent) { @@ -66,7 +131,7 @@ void Reconstruction::setStyle() QAction* quitAction = ui.menuBar->addAction(tr("Exit"), this, SLOT(close())); quitAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Q)); - + this->setContentsMargins(0, 0, 0, 0); // this->setFixedSize(1240, 680); // ui.centralWidget->setGeometry(0, 40, 1240, 680); @@ -209,12 +274,20 @@ void Reconstruction::setCloud() if (loadingStatus) { cloud = t->getCloud(); + auto pclData = PointCloudData::getInstance(cloud); + PointXYZRGB minPt, maxPt; + getMinMax3D(cloud, minPt, maxPt); + pclData->setAxises((minPt.x + maxPt.x) / 2, (minPt.z + maxPt.z) / 2); loadingStatus = false; } if (reconstructStatus) { reconstructStatus = false; + auto pclData = PointCloudData::getInstance(cloud); + PointXYZRGB minPt, maxPt; + getMinMax3D(cloud, minPt, maxPt); + pclData->setAxises((minPt.x + maxPt.x) / 2, (minPt.z + maxPt.z) / 2); } cout << cloud[0].r; @@ -237,16 +310,19 @@ void Reconstruction::updateQVTK(PointCloud cloud, QColor color) if (cloud.size() != 0) { pclData->getViewer()->getInteractorStyle()->getCameraParameters(camera); - if(location) + if (location) { viewer->setCameraParameters(camera); - pclData->getViewer()->getPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, size, "cloud"); - }else + pclData->getViewer()->getPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, size, + "cloud"); + } + else { location = true; } } viewer->registerAreaPickingCallback(pp_callback, (void*)&cloud); + viewer->registerKeyboardCallback(&keyboardEventOccurred, (void*)NULL); pclData->setViewer(viewer); } @@ -256,12 +332,13 @@ void Reconstruction::updateQVTK(PointCloud cloud, QColor color) viewer->setBackgroundColor(0.458, 0.529, 0.844); viewer->initCameraParameters(); viewer->registerAreaPickingCallback(pp_callback, (void*)&cloud); + viewer->registerKeyboardCallback(&keyboardEventOccurred, (void*)NULL); auto pclData = PointCloudData::getInstance(cloud); pclData->setViewer(viewer); pclData->setUI(ui); } - + viewer->removeAllPointClouds(); if (cloud.size() != 0) { @@ -608,7 +685,7 @@ void Reconstruction::on_pushButton_4_clicked() return; } - QTextCodec* code = QTextCodec::codecForName("GB2312");//解决中文路径问题 + QTextCodec* code = QTextCodec::codecForName("GB2312"); //解决中文路径问题 auto name = code->fromUnicode(fileName).data(); ui.lineEdit->setText(fileName); td->setPath(name); @@ -715,6 +792,7 @@ void Reconstruction::on_pushButton_12_clicked() { auto pclData = PointCloudData::getInstance(); auto indices = pclData->getIndices(); + cloud = pclData->getCloud(); for (auto i = 0; i < indices.size(); ++i) { auto index = cloud.begin() + (indices[i] - i); @@ -747,7 +825,7 @@ void Reconstruction::on_pushButton_13_clicked() mesg.warning(this, "WARNING", "Failed to open file"); return; } - + cloud.clear(); location = false; ui.label_9->setVisible(true); @@ -765,7 +843,7 @@ void Reconstruction::on_pushButton_14_clicked() if (!fileName.isNull()) { - QTextCodec* code = QTextCodec::codecForName("GB2312");//解决中文路径问题 + QTextCodec* code = QTextCodec::codecForName("GB2312"); //解决中文路径问题 auto name = code->fromUnicode(fileName).data(); if (QString::fromStdString(name).endsWith(".pcd", Qt::CaseInsensitive)) io::savePCDFileBinary(name, cloud); @@ -791,6 +869,8 @@ void Reconstruction::on_pushButton_16_clicked() { color = colortmp; updateQVTK(cloud, color); + auto pclData = PointCloudData::getInstance(); + pclData->setColor(color); } } @@ -811,4 +891,4 @@ void Reconstruction::about() aboutDialog->setWindowModality(Qt::ApplicationModal); aboutDialog->setWindowTitle(QString::fromLocal8Bit("关于")); aboutDialog->show(); -} \ No newline at end of file +} diff --git a/Classes/main.cpp b/Classes/main.cpp index bd51adb..b4145fd 100644 --- a/Classes/main.cpp +++ b/Classes/main.cpp @@ -5,8 +5,8 @@ int main(int argc, char *argv[]) { - // AllocConsole();//分配控制台 - // freopen("CONOUT$", "w+t", stdout);//向控制台输出 + // AllocConsole();// 分配控制台 + // freopen("CONOUT$", "w+t", stdout);// 向控制台输出 QApplication a(argc, argv); Loading l; l.show(); diff --git a/x64/Debug/Reconstruction.exe b/x64/Debug/Reconstruction.exe index 99010be..9b00352 100644 Binary files a/x64/Debug/Reconstruction.exe and b/x64/Debug/Reconstruction.exe differ diff --git a/x64/Debug/Reconstruction.ilk b/x64/Debug/Reconstruction.ilk index 1edce8b..6253c17 100644 Binary files a/x64/Debug/Reconstruction.ilk and b/x64/Debug/Reconstruction.ilk differ diff --git a/x64/Debug/Reconstruction.log b/x64/Debug/Reconstruction.log index 10c28d1..592e86c 100644 --- a/x64/Debug/Reconstruction.log +++ b/x64/Debug/Reconstruction.log @@ -1,15 +1 @@ -锘 MyThread.cpp - Unknown compiler version - please run the configure tests and report the results -D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\include\pcl-1.8\pcl\point_traits.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\include\pcl-1.8\pcl\visualization\interactor_style.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\PCL\PCL 1.8.1\include\pcl-1.8\pcl\visualization\pcl_visualizer.h(1585,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\FlyCapture2.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\Error.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\CameraBase.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\GigECamera.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\Image.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\Utilities.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\AVIRecorder.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\TopologyNode.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 -D:\BJTU\Reconstruction\Lib\FlyCapture2\include\ImageStatistics.h(1,1): warning C4819: 璇ユ枃浠跺寘鍚笉鑳藉湪褰撳墠浠g爜椤(936)涓〃绀虹殑瀛楃銆傝灏嗚鏂囦欢淇濆瓨涓 Unicode 鏍煎紡浠ラ槻姝㈡暟鎹涪澶 - Reconstruction.vcxproj -> D:\BJTU\Reconstruction\x64\Debug\Reconstruction.exe +锘 Reconstruction.cpp diff --git a/x64/Debug/Reconstruction.obj b/x64/Debug/Reconstruction.obj deleted file mode 100644 index 2126e02..0000000 Binary files a/x64/Debug/Reconstruction.obj and /dev/null differ diff --git a/x64/Debug/Reconstruction.pdb b/x64/Debug/Reconstruction.pdb index 21f1fb9..1fb647c 100644 Binary files a/x64/Debug/Reconstruction.pdb and b/x64/Debug/Reconstruction.pdb differ diff --git a/x64/Debug/Reconstruction.tlog/CL.command.1.tlog b/x64/Debug/Reconstruction.tlog/CL.command.1.tlog index 75078c7..7cf438f 100644 Binary files a/x64/Debug/Reconstruction.tlog/CL.command.1.tlog and b/x64/Debug/Reconstruction.tlog/CL.command.1.tlog differ diff --git a/x64/Debug/Reconstruction.tlog/CL.read.1.tlog b/x64/Debug/Reconstruction.tlog/CL.read.1.tlog index 5a8cd67..ca48eb6 100644 Binary files a/x64/Debug/Reconstruction.tlog/CL.read.1.tlog and b/x64/Debug/Reconstruction.tlog/CL.read.1.tlog differ diff --git a/x64/Debug/Reconstruction.tlog/CL.write.1.tlog b/x64/Debug/Reconstruction.tlog/CL.write.1.tlog index 16d513b..33e502a 100644 Binary files a/x64/Debug/Reconstruction.tlog/CL.write.1.tlog and b/x64/Debug/Reconstruction.tlog/CL.write.1.tlog differ diff --git a/x64/Debug/Reconstruction.tlog/Reconstruction.write.1u.tlog b/x64/Debug/Reconstruction.tlog/Reconstruction.write.1u.tlog index 1e2e2b0..15426a4 100644 Binary files a/x64/Debug/Reconstruction.tlog/Reconstruction.write.1u.tlog and b/x64/Debug/Reconstruction.tlog/Reconstruction.write.1u.tlog differ diff --git a/x64/Debug/Reconstruction.tlog/link.command.1.tlog b/x64/Debug/Reconstruction.tlog/link.command.1.tlog index 2ad3636..9eb511b 100644 Binary files a/x64/Debug/Reconstruction.tlog/link.command.1.tlog and b/x64/Debug/Reconstruction.tlog/link.command.1.tlog differ diff --git a/x64/Debug/Reconstruction.tlog/link.read.1.tlog b/x64/Debug/Reconstruction.tlog/link.read.1.tlog index fc4f504..492e74e 100644 Binary files a/x64/Debug/Reconstruction.tlog/link.read.1.tlog and b/x64/Debug/Reconstruction.tlog/link.read.1.tlog differ diff --git a/x64/Debug/Reconstruction.tlog/rcc.read.1u.tlog b/x64/Debug/Reconstruction.tlog/rcc.read.1u.tlog index 10d7ed1..04a58ae 100644 Binary files a/x64/Debug/Reconstruction.tlog/rcc.read.1u.tlog and b/x64/Debug/Reconstruction.tlog/rcc.read.1u.tlog differ diff --git a/x64/Debug/main.obj b/x64/Debug/main.obj index ce538d7..99331a9 100644 Binary files a/x64/Debug/main.obj and b/x64/Debug/main.obj differ diff --git a/x64/Debug/qrc_Reconstruction.obj b/x64/Debug/qrc_Reconstruction.obj index b43377c..5b57f61 100644 Binary files a/x64/Debug/qrc_Reconstruction.obj and b/x64/Debug/qrc_Reconstruction.obj differ diff --git a/x64/Debug/qt_work.log b/x64/Debug/qt_work.log index 8d30500..c8dcc2e 100644 Binary files a/x64/Debug/qt_work.log and b/x64/Debug/qt_work.log differ diff --git a/x64/Debug/rcc/Resources/qrc_Reconstruction.cpp b/x64/Debug/rcc/Resources/qrc_Reconstruction.cpp index ae1721a..04e91a7 100644 --- a/x64/Debug/rcc/Resources/qrc_Reconstruction.cpp +++ b/x64/Debug/rcc/Resources/qrc_Reconstruction.cpp @@ -3628,6 +3628,118 @@ static const unsigned char qt_resource_data[] = { 0x93,0xe,0x1,0xd0,0x49,0x87,0x0,0xe8,0xa4,0x43,0x0,0xf4,0x79,0xeb,0xad,0xff, 0x1,0x6e,0x7,0x19,0xd7,0x7c,0x77,0xca,0xdf,0x0,0x0,0x0,0x0,0x49,0x45,0x4e, 0x44,0xae,0x42,0x60,0x82, + // D:/BJTU/Reconstruction/Resources/image/projection/projector.png + 0x0,0x0,0x3,0x7c, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4, + 0x0,0x0,0x3,0x43,0x49,0x44,0x41,0x54,0x58,0x47,0xed,0x96,0x5f,0x88,0xd4,0x55, + 0x14,0xc7,0xbf,0xe7,0xc7,0xfe,0xd0,0x1e,0xa4,0x42,0x5,0xf1,0xf,0xbd,0x94,0x1b, + 0xdc,0xfb,0xdb,0x65,0x1d,0x10,0x41,0x43,0xb7,0xb7,0x42,0x10,0x23,0x84,0xde,0x5c, + 0x12,0x17,0xc5,0x14,0x44,0x45,0x7c,0x51,0xf7,0x25,0x54,0xf0,0x41,0x91,0x32,0x32, + 0x7b,0x28,0x8d,0x5e,0x84,0x7a,0xf0,0xd1,0x20,0x2d,0x5b,0x10,0xd6,0xfd,0x9d,0x3b, + 0xf8,0x67,0x85,0x8,0x49,0x4c,0x4d,0x58,0x52,0xb6,0x65,0xf6,0x7e,0xe5,0xc,0x33, + 0x32,0x6e,0x33,0xcd,0xce,0x4,0xd,0x91,0xe7,0x69,0xe0,0xfe,0xce,0x39,0x9f,0x7b, + 0xe6,0x7b,0xce,0x3d,0x82,0xe,0x9b,0x74,0x38,0x3f,0x9e,0x3,0xfc,0xb7,0x2b,0xe0, + 0xbd,0x3f,0x40,0x72,0xb9,0x88,0xbc,0x45,0xf2,0xbc,0x88,0xc,0x4f,0x4c,0x4c,0x1c, + 0x1d,0x1b,0x1b,0x1b,0x9f,0xa9,0xb6,0xda,0xaa,0x40,0x6f,0x6f,0xef,0xd2,0xa9,0xa9, + 0xa9,0xab,0x0,0x66,0x3,0xb8,0x7,0x20,0x0,0x78,0xd,0xc0,0x22,0x11,0xb1,0xdf, + 0xbb,0xf3,0x3c,0x3f,0x3f,0x13,0x88,0x86,0x0,0x76,0x3b,0x0,0xab,0x45,0x64,0x29, + 0x80,0xaf,0x1,0x7c,0x91,0xe7,0xf9,0x15,0xb,0xea,0xbd,0xbf,0x0,0x60,0xd,0x80, + 0xe3,0xaa,0xba,0xbd,0x9a,0xc8,0x7b,0xff,0x1,0x80,0x63,0x0,0xc6,0x0,0xac,0x52, + 0xd5,0xbb,0xcd,0x20,0xea,0x2,0x78,0xef,0x69,0x8e,0x22,0xf2,0x2b,0xc9,0x3b,0x0, + 0xa,0x95,0x40,0xfd,0x24,0x17,0x88,0xc8,0x59,0x0,0x7b,0x54,0xf5,0xc8,0xf4,0x4, + 0xde,0x7b,0x3,0xbb,0x40,0xf2,0x50,0x8,0x61,0x6f,0xcb,0x0,0xce,0xb9,0xf,0x45, + 0x64,0xaf,0x88,0xc,0xe6,0x79,0xfe,0x49,0xe5,0xc6,0xe5,0xa0,0x0,0xbe,0x3,0x50, + 0x4,0xb0,0x95,0x64,0x5f,0x8,0x61,0xa4,0x5e,0x2,0xef,0xfd,0x2f,0x0,0x2e,0xab, + 0xea,0x86,0x96,0x1,0xbc,0xf7,0x56,0xbe,0x51,0x55,0x7d,0xa7,0xd6,0xd9,0x7b,0xbf, + 0xb,0x80,0xdd,0xf8,0x12,0x80,0x95,0x24,0xe7,0x84,0x10,0xfe,0xa8,0x97,0x20,0xcb, + 0xb2,0xcb,0x31,0xc6,0xdf,0x43,0x8,0x6f,0xb7,0x3,0x60,0x41,0x3f,0x56,0x55,0x4b, + 0xf8,0xd4,0xbc,0xf7,0x6b,0x1,0x7c,0x5b,0xd1,0x83,0xdd,0x6c,0xa5,0xaa,0xfe,0xd0, + 0xa0,0x2,0xf,0x48,0x9e,0xd,0x21,0x6c,0x6b,0x7,0x60,0x18,0xc0,0x2c,0x55,0xed, + 0xad,0x75,0x76,0xce,0x9d,0x14,0x91,0xcd,0x24,0xdf,0x15,0x91,0x2f,0x1,0xfc,0xa8, + 0xaa,0xfd,0x75,0x34,0x60,0x22,0x34,0x31,0x6e,0x52,0xd5,0x53,0x2d,0x3,0x38,0xe7, + 0xf6,0x88,0xc8,0x21,0x53,0x38,0x80,0xaf,0xd2,0x34,0xbd,0x59,0x2a,0x95,0xd6,0x93, + 0x3c,0x69,0x1a,0xb0,0xa4,0x55,0x9d,0x0,0x38,0x45,0xf2,0x74,0x8,0xe1,0x52,0x96, + 0x65,0x5,0x92,0x6f,0x2,0x38,0x4c,0xf2,0x9b,0x10,0xc2,0xba,0x66,0xc9,0xcb,0x42, + 0x6f,0xa0,0x62,0x13,0x9f,0xf5,0x75,0x3b,0x96,0x93,0xdc,0x62,0x50,0xb5,0xce,0x59, + 0x96,0xd,0xc4,0x18,0x37,0xa4,0x69,0xba,0x65,0x64,0x64,0xe4,0xe7,0xea,0xd9,0x33, + 0x0,0xde,0xfb,0xf7,0x1,0x7c,0x5a,0x39,0xbc,0x47,0xf2,0xa1,0x88,0x74,0x1,0x78, + 0xc,0xe0,0x7e,0x1d,0x9a,0x97,0x6d,0x18,0x91,0x9c,0x25,0x22,0x7f,0x92,0x9c,0x2b, + 0x22,0xf3,0xec,0xbb,0x18,0xe3,0x1b,0xc5,0x62,0xf1,0x62,0x5f,0x5f,0xdf,0xc2,0x52, + 0xa9,0xb4,0x9d,0xe4,0x4e,0x0,0x16,0x6b,0x48,0x55,0x6d,0xc6,0x94,0x6d,0x3a,0xc0, + 0xf7,0x36,0x40,0x0,0xf4,0xab,0xaa,0xb5,0x5c,0xcb,0x66,0x37,0x25,0xf9,0x99,0x75, + 0xb,0xc9,0x13,0x22,0x62,0x83,0x6a,0x5,0x80,0x6b,0x0,0x5e,0x27,0x39,0x10,0x42, + 0xf8,0xbc,0x11,0xc0,0x6f,0x0,0xc6,0x55,0xf5,0xd5,0x96,0x33,0x3f,0xdb,0x31,0x13, + 0x0,0x6c,0x98,0xd9,0xa8,0x36,0xdb,0x41,0x72,0x5c,0x44,0x4e,0x37,0x3,0x30,0xa7, + 0xb2,0xd0,0xfe,0x21,0x80,0x8d,0xec,0x65,0x0,0x2e,0x92,0x1c,0xc,0x21,0x14,0x9d, + 0x73,0x1b,0xff,0x4d,0x80,0xf2,0x5b,0xa1,0xaa,0x4f,0xff,0xe2,0xff,0x27,0x40,0x8c, + 0xf1,0x95,0x62,0xb1,0x68,0xef,0x2,0x3a,0x52,0x1,0x11,0xf9,0xc9,0x9e,0xe7,0x3c, + 0xcf,0xcf,0x74,0x4,0x0,0x40,0xa9,0xd2,0xfb,0x1f,0x91,0x1c,0x6e,0x2a,0x42,0xe7, + 0xdc,0x75,0x11,0x59,0x92,0x24,0xc9,0xfc,0xd1,0xd1,0xd1,0x47,0xed,0x74,0x42,0x77, + 0x77,0xf7,0x9c,0x34,0x4d,0x6d,0x25,0xbb,0x95,0x24,0xc9,0x9a,0x18,0xe3,0x10,0x80, + 0x1,0x0,0xb7,0x1,0x2c,0xfe,0xdb,0x36,0x74,0xce,0x1d,0x17,0x91,0x6d,0x24,0xcf, + 0x24,0x49,0x72,0xb4,0xba,0x1,0xcd,0x14,0x24,0xcb,0x32,0xdb,0xd,0xed,0x31,0xb2, + 0x39,0x72,0xb0,0x3a,0xf1,0x2a,0x9b,0x92,0xbd,0x2f,0x2f,0x90,0x1c,0xa,0x21,0xec, + 0x6f,0x34,0x88,0x96,0x0,0x38,0x57,0xb3,0x1,0xcd,0x34,0xf7,0xf4,0xef,0xfe,0x32, + 0x4b,0x7a,0x7a,0x7a,0xde,0x8b,0x31,0x6e,0xec,0xea,0xea,0x1a,0x6c,0xf8,0x16,0x58, + 0x94,0x42,0xa1,0xf0,0xe2,0xe4,0xe4,0xe4,0x3e,0x92,0xb6,0xb,0xbe,0xd4,0xa,0x81, + 0x88,0xdc,0x21,0x79,0xa3,0x76,0xd6,0x37,0xf3,0x6f,0x6b,0x2b,0x6e,0x16,0xb4,0x95, + 0xf3,0xe7,0x0,0x1d,0xaf,0xc0,0x13,0xe3,0xd7,0xc9,0x30,0x4,0x1c,0x6d,0x3b,0x0, + 0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, + // D:/BJTU/Reconstruction/Resources/image/projection/save.png + 0x0,0x0,0x1,0x42, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x18,0x0,0x0,0x0,0x18,0x8,0x6,0x0,0x0,0x0,0xe0,0x77,0x3d,0xf8, + 0x0,0x0,0x1,0x9,0x49,0x44,0x41,0x54,0x48,0x4b,0xed,0xd5,0x2d,0x52,0x3,0x41, + 0x10,0x86,0xe1,0x27,0x96,0x3,0xc4,0x63,0x71,0x14,0x2,0x9,0x5c,0x0,0xa,0x1, + 0x9a,0x53,0x20,0xf9,0x91,0x5c,0x0,0x8f,0xc5,0x72,0x0,0xc0,0xa1,0x70,0x68,0x40, + 0xe7,0x10,0x49,0x75,0x2a,0x53,0x35,0x4c,0xb6,0xb2,0xd,0x24,0x14,0x45,0xd1,0x6a, + 0xab,0xb7,0xe7,0x7b,0x67,0xa6,0xbf,0xde,0x1d,0x58,0x71,0xc,0x56,0xac,0xaf,0x6, + 0x5c,0xe0,0xfc,0x1b,0xc0,0x4b,0x84,0xc6,0x87,0xa8,0x1,0xf7,0xb8,0xc6,0xa8,0xaa, + 0x8,0xe0,0x23,0x1e,0x9a,0x75,0x75,0x3e,0xd6,0x1d,0xe3,0x16,0x73,0x90,0x16,0x10, + 0x5,0xb5,0x58,0x2c,0xe,0x40,0xbb,0xb3,0x92,0x8f,0xda,0x78,0xe,0x9d,0xa3,0x2e, + 0xc8,0x32,0x1,0x71,0xc8,0x39,0xc8,0xb2,0x1,0x35,0x64,0xaa,0x9d,0x5,0xb4,0xbd, + 0xdb,0x99,0x5d,0x5d,0xe4,0xa3,0x1f,0xad,0x1b,0xc7,0x25,0xd7,0x7,0xd8,0x4d,0x38, + 0xab,0xab,0x47,0x69,0xc0,0x57,0x5d,0xfb,0xbb,0x0,0x1b,0x18,0x2e,0x38,0xca,0x2b, + 0xde,0x9b,0xf7,0xa9,0x13,0xec,0xe3,0xc,0x5b,0x1d,0x83,0x16,0x7a,0x21,0x12,0xb1, + 0x87,0x3b,0x44,0x7d,0x89,0x5e,0xc0,0x1a,0x5e,0x70,0xd3,0x35,0xfe,0xcd,0x6e,0xb7, + 0xf1,0xd4,0x4c,0x71,0x2f,0x60,0x13,0xcf,0x58,0xc7,0x5b,0xa2,0xd3,0x27,0x38,0xc0, + 0xe1,0xac,0xb6,0x17,0x10,0xf6,0x2c,0x9f,0x80,0x84,0xbe,0x62,0xe7,0xb8,0xae,0x72, + 0x7d,0xb,0x7,0xed,0x1f,0xf0,0x47,0x7b,0x70,0x85,0xd3,0x8c,0x65,0x12,0x35,0xf1, + 0x23,0x9a,0x3a,0xea,0x47,0x7f,0xfa,0x89,0x8d,0x7d,0xbe,0x64,0x2,0xaf,0xca,0x6f, + 0x19,0x90,0xe9,0xcf,0xdd,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60, + 0x82, + // D:/BJTU/Reconstruction/Resources/image/projection/three_d.png + 0x0,0x0,0x1,0x9f, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4, + 0x0,0x0,0x1,0x66,0x49,0x44,0x41,0x54,0x58,0x47,0xed,0x97,0x31,0x4a,0x3,0x41, + 0x14,0x86,0xbf,0x80,0x8d,0x9d,0x47,0xb0,0x52,0xb0,0xd1,0xc2,0xc2,0x42,0x30,0x82, + 0x48,0xa,0x11,0x1b,0x3d,0x44,0xf0,0xe,0x5a,0x88,0x24,0x60,0x61,0x21,0x62,0x61, + 0x91,0x22,0x55,0x3c,0x80,0xa5,0x8a,0x7,0xd0,0x46,0xb,0xdb,0x60,0xe3,0x25,0x94, + 0x3f,0xcc,0x84,0x71,0x8d,0xb8,0x6f,0x76,0x27,0x5b,0xb8,0xd3,0xec,0xb0,0xcc,0xbc, + 0xff,0x9b,0x7f,0x67,0xde,0x9b,0x6d,0x50,0x71,0x6b,0x44,0xea,0xef,0xbb,0x79,0x37, + 0xee,0xd9,0x4,0xee,0x5c,0xdf,0x14,0xd3,0x34,0xd8,0x9,0x48,0x7c,0xe0,0xfa,0x7, + 0x80,0x87,0xf8,0x4,0xcc,0xf1,0xac,0x13,0x24,0xde,0x6,0xe6,0x81,0x39,0xe0,0x19, + 0xb8,0x4,0x3e,0x82,0xd5,0xdf,0x5b,0x5c,0xb5,0x2,0xf8,0xd8,0xc7,0xc0,0x6,0xb0, + 0x69,0x11,0x9b,0x34,0xb6,0x6,0xa8,0x1d,0xa8,0x1d,0xf8,0x77,0xe,0xec,0x2,0x43, + 0xe0,0xc9,0xe7,0x84,0x2a,0x1c,0x78,0x3,0x16,0xaa,0x2,0x58,0x2,0x5e,0xc3,0x8c, + 0x38,0x6d,0x7,0x54,0x35,0x55,0x37,0xc6,0x10,0x55,0x0,0x5c,0x0,0xaa,0xa2,0x23, + 0x88,0x22,0x0,0x47,0x5,0xa,0xd1,0x3b,0xb0,0x2d,0x88,0x18,0x80,0x13,0x60,0xf, + 0x38,0x8c,0x0,0x58,0x1,0xba,0xc0,0x16,0xf0,0x18,0xe3,0x40,0x7,0xd8,0x9,0x2d, + 0x34,0x42,0x68,0xf,0xcc,0x2,0xb7,0x31,0xa7,0xe0,0xc,0x68,0x15,0x10,0x97,0xa6, + 0x0,0xbe,0x5d,0x58,0xf2,0x7e,0x82,0x73,0x67,0xdb,0x78,0xf3,0x18,0x57,0xfe,0xeb, + 0xf0,0x3c,0x0,0xda,0xb5,0x22,0x2f,0x5d,0x3c,0xcf,0x1e,0xb8,0x2,0xd6,0x53,0x89, + 0xff,0x5,0x70,0xd,0xac,0xa5,0x14,0xcf,0x2,0xe8,0xc6,0xeb,0xaf,0xd8,0x3d,0x60, + 0x35,0xb5,0x78,0x16,0x40,0x37,0xdd,0x17,0x77,0xc6,0x97,0xa7,0x21,0x3e,0x9,0x40, + 0xd9,0x4d,0xe5,0x52,0xc7,0x2d,0x2c,0x1a,0x3f,0x72,0x78,0x8a,0x53,0x20,0x7,0x7c, + 0x7a,0xd,0xff,0x78,0xfa,0xc0,0x69,0xb6,0x8a,0xa5,0x0,0xd0,0x2a,0xd5,0xf4,0x8b, + 0xe5,0x9b,0x3e,0xc9,0x22,0x30,0xe3,0x5e,0x3c,0x94,0x25,0x1c,0x93,0x9,0xcb,0xd6, + 0x1e,0xc5,0xcb,0x93,0x88,0x92,0x8,0xfb,0xa0,0x5f,0xe9,0xc4,0x44,0x21,0x32,0xd4, + 0x89,0xca,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, // D:/BJTU/Reconstruction/Resources/image/projection/file.png 0x0,0x0,0x1,0x30, 0x89, @@ -4372,6 +4484,63 @@ static const unsigned char qt_resource_data[] = { 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xd9, + // D:/BJTU/Reconstruction/Resources/image/projection/image.png + 0x0,0x0,0x3,0x53, + 0x89, + 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, + 0x0,0x0,0x26,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x7e,0x64,0xa,0xb3, + 0x0,0x0,0x3,0x1a,0x49,0x44,0x41,0x54,0x58,0x47,0xcd,0xd8,0x79,0xa8,0x55,0x55, + 0x14,0xc7,0xf1,0xcf,0x8b,0x2,0xa9,0x2c,0xa3,0x3f,0x82,0x28,0x91,0xa,0x69,0xc0, + 0x40,0x2a,0x68,0x42,0xfc,0xab,0x1,0x32,0xeb,0xf,0x83,0x8a,0x28,0x41,0x8c,0x40, + 0x1a,0xa0,0xa2,0x1,0x1a,0x28,0x28,0x10,0x1a,0x8,0xa2,0xfa,0x27,0x89,0x40,0x4b, + 0x1a,0x6c,0x20,0xa2,0xa2,0x42,0x54,0x4,0x83,0x66,0xa2,0x22,0x6d,0x50,0x21,0x22, + 0xa1,0xa2,0x30,0x8,0xe3,0x27,0xfb,0xd0,0x7e,0xf7,0xdc,0xf7,0xba,0xe7,0xc2,0x7d, + 0xd7,0x5,0x7,0xee,0x3d,0x67,0xed,0xb5,0xbe,0x7b,0xef,0x35,0xec,0x73,0x26,0xfc, + 0x27,0x1b,0x70,0x3a,0xe6,0x55,0xf7,0x66,0xf2,0xe7,0xe,0x7c,0x8a,0xa5,0x71,0x3a, + 0x51,0x3c,0xef,0x9b,0x49,0x82,0x1,0x7c,0x4d,0x4,0xec,0x45,0x2c,0xc3,0x7,0xf8, + 0x8,0x6f,0xc,0x30,0x70,0x14,0x2a,0x8b,0x71,0x6d,0xd9,0xb1,0xf5,0x1,0xfb,0x1, + 0xc7,0xe3,0x16,0x3c,0x36,0xa,0x8f,0x1d,0x6c,0x5e,0x87,0x67,0xf1,0x63,0xc0,0x9a, + 0x6d,0xc,0xf1,0x87,0x1d,0x8c,0x8c,0x4a,0x75,0x3f,0x4f,0xd,0x76,0x3e,0x36,0x8d, + 0xca,0x5b,0x7,0xbb,0x2d,0xb0,0xb3,0xb1,0xb5,0x32,0xb0,0x10,0xa7,0x60,0x3e,0xbe, + 0xc0,0x5b,0xf8,0xa3,0x83,0x83,0x61,0x55,0x5b,0x60,0x67,0x61,0x5b,0xb1,0x96,0x6d, + 0x7d,0x13,0x87,0x56,0xd6,0x77,0x95,0x24,0xd9,0x3c,0xac,0xc7,0x1,0xc7,0xb5,0xc0, + 0xb2,0x42,0x1f,0xe3,0xd4,0xb2,0x42,0x8d,0x9d,0xfb,0x71,0x6f,0xf9,0xf3,0x2b,0x8e, + 0xc3,0x5f,0x3,0x3a,0x19,0x46,0xad,0x5,0xb6,0x0,0x9f,0xe3,0x9,0xac,0x2a,0xdb, + 0x36,0xbb,0xb2,0xbc,0xbd,0xa4,0xf2,0x8d,0x45,0x67,0x18,0xa7,0x83,0x8c,0x69,0x81, + 0x25,0x9e,0xbe,0x2a,0xb1,0x74,0x11,0xae,0xc2,0xda,0xca,0xd2,0xd3,0x58,0x89,0x57, + 0x71,0xf9,0x20,0x1e,0x7a,0x74,0x8e,0xc2,0x9,0xd8,0x83,0xef,0xa6,0x19,0xdf,0x2, + 0x4b,0x90,0x7f,0x83,0x6,0x60,0xd,0x96,0x57,0x6,0x5e,0xc1,0x65,0xb8,0x13,0xf, + 0x77,0x0,0x3b,0xb9,0xd4,0xc8,0x4c,0xaa,0x91,0x14,0xf2,0x67,0xca,0xd5,0x6b,0xaa, + 0x5,0x96,0xd9,0x64,0xbb,0x62,0x20,0x70,0x91,0xa7,0xf0,0x2,0xae,0xc4,0x15,0x98, + 0x83,0xde,0xec,0x9d,0x8e,0xf1,0x90,0x52,0x1b,0xcf,0x29,0x4a,0xc9,0xee,0x14,0xf3, + 0x23,0xca,0xff,0x75,0xb8,0x3,0xdf,0x57,0x46,0x5a,0x60,0x73,0x53,0x71,0x8b,0xc2, + 0xdb,0xb8,0xa0,0x8f,0xc7,0xd7,0x71,0x69,0x87,0xd5,0x7a,0x1e,0x57,0xe3,0x5d,0xdc, + 0x84,0x2f,0xcb,0xd8,0x84,0xc2,0x6a,0x9c,0x88,0x6f,0xb,0xdc,0x4b,0xe5,0x59,0xb, + 0xec,0x58,0xec,0xae,0x9c,0xc6,0x60,0xae,0x8b,0xb1,0x1e,0x4f,0x96,0x7e,0x3a,0x28, + 0x57,0xb2,0xf9,0x1e,0xec,0xc4,0x79,0x3d,0xab,0x12,0x1b,0x59,0xb9,0xc7,0xab,0x78, + 0x4d,0x78,0x24,0x4c,0x5a,0x60,0xc7,0xe0,0xe7,0x41,0xbd,0xfe,0x8f,0x5e,0x9a,0x71, + 0x62,0x34,0x92,0x44,0xca,0xe,0x4c,0x25,0xf7,0x55,0xe5,0x28,0xab,0x77,0x52,0x14, + 0xeb,0x96,0x74,0x34,0x52,0xa7,0xa6,0x92,0xd4,0xb7,0xc4,0x59,0x92,0x24,0xf2,0x75, + 0x89,0xc5,0x7a,0x95,0x73,0x3f,0xad,0x2d,0x3d,0xf7,0xa0,0xe,0x7,0x83,0x6c,0xed, + 0xcb,0xb5,0xe3,0x1a,0xec,0x48,0xfc,0xd6,0x87,0xea,0xf0,0x12,0x3,0x77,0xf7,0x79, + 0x96,0x6e,0xf0,0x40,0x49,0x92,0x3c,0x4e,0x38,0x4,0x2a,0xb3,0x4e,0xd6,0x5d,0xdf, + 0x61,0x7,0xea,0x95,0x9b,0xb4,0x62,0x87,0xe1,0xcf,0x1e,0x43,0x99,0xc9,0x5d,0x38, + 0xb3,0xdc,0xff,0x9,0x5b,0xca,0xef,0x64,0x5a,0xba,0x40,0xa4,0xc9,0xde,0x64,0xd8, + 0x85,0xd8,0x88,0x45,0x1d,0xa0,0x1a,0xd5,0x26,0x59,0x26,0x81,0xcd,0xc2,0xde,0xa2, + 0x91,0x6c,0xb9,0xad,0x9a,0xf1,0xef,0x78,0xa8,0x5c,0xb5,0xbf,0x64,0xd6,0xad,0x3d, + 0x0,0xbf,0xe0,0xdc,0x52,0x13,0xbb,0xb2,0x35,0xe7,0xb1,0x49,0x60,0x7,0xe3,0x1f, + 0xdc,0x80,0xdb,0xab,0xb3,0x7f,0xea,0x58,0xa0,0x3e,0x99,0xc2,0xcb,0x35,0x58,0x52, + 0x1a,0x7c,0xb2,0x37,0xb3,0x7e,0xad,0x2b,0x51,0xd1,0xcf,0xe1,0xe1,0xfd,0xde,0xe0, + 0x3f,0xd,0xf,0x56,0xe9,0x9b,0xf6,0x14,0xa0,0xe7,0x86,0x74,0x32,0xcc,0xb0,0xbe, + 0x60,0xa9,0xca,0x81,0x8b,0x3c,0x52,0xa0,0xb2,0x2d,0x33,0x29,0x7d,0xc1,0x2,0x90, + 0x57,0xa8,0x15,0x78,0x6f,0x26,0x69,0x2a,0x5f,0x7d,0xc1,0xfe,0xc6,0x25,0x78,0x67, + 0x4c,0x50,0x71,0xdb,0x17,0xac,0x69,0x9,0x63,0xe4,0xea,0xf,0x96,0xb7,0xf0,0xcf, + 0xc6,0x49,0x35,0xd5,0x8a,0x35,0x6f,0xe5,0xe3,0x64,0x9b,0xb4,0x95,0xcd,0xb,0x6f, + 0xe,0x85,0x4d,0xe3,0x1d,0x17,0xdc,0xcd,0x78,0xb4,0x79,0xe1,0x6d,0x3e,0x11,0x24, + 0x23,0x73,0x70,0x9b,0xee,0x24,0x30,0x4a,0xe0,0x24,0xde,0x19,0x65,0x3b,0xf7,0x7f, + 0x22,0x88,0x1c,0x90,0x1f,0x55,0x9a,0x55,0x38,0xa0,0x3e,0x43,0xfd,0xb,0x97,0xf1, + 0xb8,0x21,0x6e,0xcd,0xdb,0xd7,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, + 0x60,0x82, // D:/BJTU/Reconstruction/Resources/image/common/icon.png 0x0,0x0,0xa,0x5a, 0x89, @@ -16198,6 +16367,16 @@ static const unsigned char qt_resource_name[] = { 0xa,0x6c,0x8e,0xa7, 0x0,0x6e, 0x0,0x6f,0x0,0x76,0x0,0x69,0x0,0x64,0x0,0x65,0x0,0x6f,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // projector.png + 0x0,0xd, + 0x4,0x49,0x41,0xc7, + 0x0,0x70, + 0x0,0x72,0x0,0x6f,0x0,0x6a,0x0,0x65,0x0,0x63,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, + // three_d.png + 0x0,0xb, + 0xb,0xa2,0xa6,0x27, + 0x0,0x74, + 0x0,0x68,0x0,0x72,0x0,0x65,0x0,0x65,0x0,0x5f,0x0,0x64,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, // file.png 0x0,0x8, 0x0,0x28,0x5a,0xe7, @@ -16208,6 +16387,11 @@ static const unsigned char qt_resource_name[] = { 0xa,0x6c,0x88,0x87, 0x0,0x6e, 0x0,0x6f,0x0,0x76,0x0,0x69,0x0,0x64,0x0,0x65,0x0,0x6f,0x0,0x2e,0x0,0x6a,0x0,0x70,0x0,0x67, + // image.png + 0x0,0x9, + 0x7,0xd8,0xb7,0x27, + 0x0,0x69, + 0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, // icon.png 0x0,0x8, 0xa,0x61,0x5a,0xa7, @@ -16266,7 +16450,7 @@ static const unsigned char qt_resource_struct[] = { 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x1, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, // :/qss - 0x0,0x0,0x0,0x22,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x26, + 0x0,0x0,0x0,0x22,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2a, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, // :/icon 0x0,0x0,0x0,0x2e,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0xb, @@ -16287,13 +16471,13 @@ static const unsigned char qt_resource_struct[] = { 0x0,0x0,0x0,0xac,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x8, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, // :/Reconstruction/image/reconstruction/help.png - 0x0,0x0,0x3,0x34,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2,0xbf,0x5a, + 0x0,0x0,0x3,0x88,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2,0xc9,0x1a, 0x0,0x0,0x1,0x72,0x45,0x50,0x91,0xea, // :/Reconstruction/image/common/logo.png - 0x0,0x0,0x3,0x4a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0xaa,0xd3, + 0x0,0x0,0x3,0x9e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0xb4,0x93, 0x0,0x0,0x1,0x72,0x4b,0x73,0x6a,0x56, // :/Reconstruction/image/loading/loading.png - 0x0,0x0,0x1,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x5f,0x9b, + 0x0,0x0,0x1,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x69,0x5b, 0x0,0x0,0x1,0x71,0x6f,0x7,0xbc,0x6c, // :/icon/image 0x0,0x0,0x0,0x54,0x0,0x2,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0xd, @@ -16302,7 +16486,7 @@ static const unsigned char qt_resource_struct[] = { 0x0,0x0,0x0,0x3c,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, 0x0,0x0,0x1,0x72,0x46,0x23,0xb1,0xff, // :/icon/image/projection - 0x0,0x0,0x0,0x76,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x24, + 0x0,0x0,0x0,0x76,0x0,0x2,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x24, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, // :/icon/image/loading 0x0,0x0,0x0,0xce,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x22, @@ -16353,16 +16537,16 @@ static const unsigned char qt_resource_struct[] = { 0x0,0x0,0x2,0xa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xcb,0xc9, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x5b, // :/icon/image/common/3D.png - 0x0,0x0,0x2,0xa6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x22,0x60, + 0x0,0x0,0x2,0xfa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x2c,0x20, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x5c, // :/icon/image/common/icon.png - 0x0,0x0,0x2,0x6e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0xd,0x6f, + 0x0,0x0,0x2,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x17,0x2f, 0x0,0x0,0x1,0x72,0x46,0x23,0x4b,0x7, // :/icon/image/common/camera.png - 0x0,0x0,0x1,0xf0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x17,0xcd, + 0x0,0x0,0x1,0xf0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x21,0x8d, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x5d, // :/icon/image/common/projection.png - 0x0,0x0,0x2,0x84,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x1a,0xcb, + 0x0,0x0,0x2,0xd8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x24,0x8b, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x5d, // :/icon/image/loading/label.png 0x0,0x0,0x0,0xfa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3c,0xdc, @@ -16371,28 +16555,40 @@ static const unsigned char qt_resource_struct[] = { 0x0,0x0,0x0,0xe2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x8,0x3c, 0x0,0x0,0x1,0x71,0x6f,0x7,0xbc,0x7c, // :/icon/image/projection/file.png - 0x0,0x0,0x2,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xdf,0x4e, + 0x0,0x0,0x2,0x78,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe5,0xb7, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x5e, + // :/icon/image/projection/projector.png + 0x0,0x0,0x2,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xdf,0x4e, +0x0,0x0,0x1,0x72,0x5e,0xad,0x55,0xe1, + // :/icon/image/projection/image.png + 0x0,0x0,0x2,0xaa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x13,0xd8, +0x0,0x0,0x1,0x72,0x5e,0xab,0x7f,0xf7, + // :/icon/image/projection/save.png + 0x0,0x0,0x1,0xda,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe2,0xce, +0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x61, // :/icon/image/projection/novideo.jpg - 0x0,0x0,0x2,0x52,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe0,0x82, + 0x0,0x0,0x2,0x8e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe6,0xeb, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x5f, + // :/icon/image/projection/three_d.png + 0x0,0x0,0x2,0x5c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe4,0x14, +0x0,0x0,0x1,0x72,0x5e,0xae,0x17,0x71, // :/qss/qss - 0x0,0x0,0x0,0x22,0x0,0x2,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x27, + 0x0,0x0,0x0,0x22,0x0,0x2,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x2b, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, // :/qss/qss/Devsion.qss - 0x0,0x0,0x3,0x2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x48,0xbc, + 0x0,0x0,0x3,0x56,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x52,0x7c, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x62, // :/qss/qss/Hookmark.qss - 0x0,0x0,0x2,0xce,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x2c,0xb, + 0x0,0x0,0x3,0x22,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x35,0xcb, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x63, // :/qss/qss/flat.qss - 0x0,0x0,0x3,0x1e,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x1,0x56,0x70, + 0x0,0x0,0x3,0x72,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x1,0x60,0x30, 0x0,0x0,0x1,0x71,0x92,0xc7,0xd8,0x19, // :/qss/qss/aqua.qss - 0x0,0x0,0x2,0xb8,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x1,0x24,0x7d, + 0x0,0x0,0x3,0xc,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x1,0x2e,0x3d, 0x0,0x0,0x1,0x70,0x33,0xe1,0x5,0x35, // :/qss/qss/Geoo.qss - 0x0,0x0,0x2,0xec,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x38,0x1e, + 0x0,0x0,0x3,0x40,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x41,0xde, 0x0,0x0,0x1,0x71,0x42,0xa4,0x28,0x62, }; diff --git a/x64/Debug/vc142.pdb b/x64/Debug/vc142.pdb index 4e99d5f..8a1fcca 100644 Binary files a/x64/Debug/vc142.pdb and b/x64/Debug/vc142.pdb differ