增加了硬件设备的界面设置
parent
28d0a1dd1b
commit
deb2a63ceb
|
@ -0,0 +1,282 @@
|
|||
/**
|
||||
* @file DialogMeshOptimization.cpp
|
||||
* @brief None
|
||||
* @author 陈增辉 (3045316072@qq.com)
|
||||
* @version 2.5.0
|
||||
* @date 2024/4/5
|
||||
* @copyright Copyright (c) Since 2024 中科卫星应用研究院 All rights reserved.
|
||||
*/
|
||||
|
||||
// You may need to build the project (run Qt uic code generator) to get "ui_DialogMeshOptimization.h"
|
||||
// resolved
|
||||
|
||||
#include "DialogMeshOptimizationOCCT.h"
|
||||
#include "ui_DialogMeshOptimizationOCCT.h"
|
||||
|
||||
#include "PythonModule/PyAgent.h"
|
||||
#include "MeshData/meshSingleton.h"
|
||||
#include "MeshData/meshSet.h"
|
||||
#include <QMenu>
|
||||
#include <QDebug>
|
||||
#include <QFileDialog>
|
||||
#include <QFileInfo>
|
||||
#include <pcl/filters/statistical_outlier_removal.h>
|
||||
#include "MeshData/meshKernal.h"
|
||||
#include "PointCloudOperator/PointCloudCommon.h"
|
||||
#include "Settings/BusAPI.h"
|
||||
#include "IO/IOConfig.h"
|
||||
#include <pcl/filters/convolution_3d.h>
|
||||
#include <QFileDialog>
|
||||
#include <QFileInfo>
|
||||
#include <pcl/filters/statistical_outlier_removal.h>
|
||||
#include <QMessageBox>
|
||||
#include <vtkAppendFilter.h>
|
||||
#include <vtkThreshold.h>
|
||||
#include "MeshData/meshKernal.h"
|
||||
#include "PointCloudOperator/PointCloudCommon.h"
|
||||
#include "Settings/BusAPI.h"
|
||||
#include "IO/IOConfig.h"
|
||||
#include "ModuleBase/ThreadControl.h"
|
||||
#include "ConfigOptions/ConfigOptions.h"
|
||||
#include "ConfigOptions/MeshConfig.h"
|
||||
#include "Common/DebugLogger.h"
|
||||
#include "ModuleBase/messageWindowBase.h"
|
||||
#include "MainWindow/MainWindow.h"
|
||||
#include "MeshOperator.h"
|
||||
#include "MainWindow/MainWindow.h"
|
||||
#include "MainWindow/SubWindowManager.h"
|
||||
#include "MeshOperator.h"
|
||||
#include "MainWidgets/MeshViewProvider.h"
|
||||
// auto meshData = MeshData::MeshData::getInstance();
|
||||
|
||||
namespace MainWidget {
|
||||
DialogMeshOptimizationOCCT::DialogMeshOptimizationOCCT(GUI::MainWindow* parent)
|
||||
: QFDialog(parent)
|
||||
, _ui(new Ui::DialogMeshOptimizationOCCT)
|
||||
, _mw(parent)
|
||||
, _selectdlg(new DialogSelectComponents(parent))
|
||||
{
|
||||
_ui->setupUi(this);
|
||||
_ui->geoSelectPoint->setToolTip(tr("Clicked Button Selected "));
|
||||
setWindowTitle(tr("网格优化(OCCT)"));
|
||||
// _ui->listWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
||||
_preWindow=parent->getSubWindowManager()->getPreWindow(); // 处理选择
|
||||
|
||||
// connect(_ui->geoSelectPoint, &QPushButton::clicked, [=]() {
|
||||
// _selectdlg->clearSelectItems();
|
||||
// _selectdlg->exec();
|
||||
// });
|
||||
|
||||
|
||||
connect(_selectdlg, SIGNAL(selectedComponentsSig(QList<MeshData::MeshSet*>)), this,
|
||||
SLOT(selectedComponentsSlot(QList<MeshData::MeshSet*>)));
|
||||
// connect(_ui->listWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this,
|
||||
// SLOT(customContextMenuRequestedSlot(const QPoint&)));
|
||||
|
||||
connect(_preWindow,SIGNAL(highLighSet(QMultiHash<int, int> *)),this,SLOT(Select_HighLightItem(QMultiHash<int, int> *)));
|
||||
|
||||
}
|
||||
|
||||
DialogMeshOptimizationOCCT::~DialogMeshOptimizationOCCT()
|
||||
{
|
||||
delete _ui;
|
||||
_ui = NULL;
|
||||
delete _selectdlg;
|
||||
_selectdlg = NULL;
|
||||
}
|
||||
|
||||
void DialogMeshOptimizationOCCT::accept()
|
||||
{
|
||||
// 网格参数优化
|
||||
if (this->_selectItems->isEmpty())
|
||||
return;
|
||||
|
||||
ModuleBase::SelectModel _selectModel= _preWindow->getSelectModel();
|
||||
|
||||
QList<int> datasetList = _selectItems->uniqueKeys(); // 获取所有的key
|
||||
vtkPolyData *polyData = vtkPolyData::New();// 创建新的对象
|
||||
vtkSmartPointer<vtkAppendFilter> appf = vtkSmartPointer<vtkAppendFilter>::New();
|
||||
MeshData::MeshData* _meshData= MeshData::MeshData::getInstance();
|
||||
MainWidget::MeshViewProvider* _meshProvider = _preWindow->getMeshViewProvider();
|
||||
QMultiHash<int, int>* items=this->_selectItems;
|
||||
|
||||
|
||||
MeshData::MeshOperator* operatorMesh=new MeshData::MeshOperator(_mw);
|
||||
|
||||
for (auto dataset : datasetList)
|
||||
{
|
||||
auto k = _meshData->getKernalByID(dataset); // 获取对应的kernal
|
||||
auto vObjs = _meshProvider->getViewObjects(k); // 获取对应的view对象
|
||||
if(!(k->isVisible())){
|
||||
continue;
|
||||
}
|
||||
vtkSmartPointer<vtkGeometryFilter> geofilter=vtkSmartPointer<vtkGeometryFilter>::New();
|
||||
geofilter->AddInputData(k->getMeshData());
|
||||
geofilter->Update();
|
||||
vtkSmartPointer<vtkPolyData> searchData=vtkSmartPointer<vtkPolyData>::New();
|
||||
searchData->DeepCopy(geofilter->GetOutput());
|
||||
QList<int> members = items->values(); //
|
||||
|
||||
if (vObjs == nullptr)
|
||||
continue;
|
||||
if(members.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
|
||||
// 初始化
|
||||
for(int i=0;i<searchData->GetNumberOfPoints();i++){
|
||||
searchData->GetPointData()->GetArray("SHOW")->SetComponent(i,0,0);
|
||||
}
|
||||
for(int i=0;i<searchData->GetNumberOfCells();i++){
|
||||
searchData->GetCellData()->GetArray("SHOW")->SetComponent(i,0,0);
|
||||
}
|
||||
|
||||
if(_selectModel == ModuleBase::BoxMeshNode || _selectModel == ModuleBase::MeshNode||_selectModel==ModuleBase::BoxMeshSurfaceNode) { // 复制Points
|
||||
continue;
|
||||
} else if(_selectModel == ModuleBase::BoxMeshCell || _selectModel == ModuleBase::MeshCell||_selectModel==ModuleBase::BoxMeshSurfaceCell) { // 绘制cell
|
||||
//this->SearchPoints(searchData,members,1);
|
||||
operatorMesh->SearchCells(searchData,members,1);
|
||||
// 复制单元
|
||||
vtkSmartPointer<vtkThreshold> threshold = vtkSmartPointer<vtkThreshold>::New();
|
||||
threshold->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_CELLS, "SHOW");
|
||||
threshold->SetInputData(searchData);
|
||||
threshold->SetLowerThreshold(0.5); // 设置筛选条件,大于 0.5 的面将被保留
|
||||
threshold->SetUpperThreshold(1.5);
|
||||
threshold->Update();
|
||||
appf->AddInputData(threshold->GetOutput());
|
||||
}
|
||||
}
|
||||
appf->Update();
|
||||
vtkDataSet* copyVtkdata=appf->GetOutput(); // 获取需要优化的面片网格
|
||||
|
||||
// 参数
|
||||
double linearDeflection = _ui->linearDeflection->value();
|
||||
bool relativeMode = _ui->checkBox_relativeMode->isChecked();
|
||||
double angularDeflection = _ui->angularDeflection->value();
|
||||
|
||||
QString stl_path=operatorMesh->actionMeshOptimizationOCCT(copyVtkdata,linearDeflection ,relativeMode ,angularDeflection );
|
||||
emit _mainWindow->importMesh(stl_path,"STL(*.stl)",-1);
|
||||
|
||||
|
||||
// // 启动线程
|
||||
// auto pclfilter =
|
||||
// new MeshData::MeshOptimizationOCCTThreadTask( _mainWindow, componentIds,linearDeflection,relativeMode,angularDeflection);
|
||||
// ModuleBase::ThreadControl* tc = new ModuleBase::ThreadControl(pclfilter);
|
||||
// emit tc->threadStart();
|
||||
|
||||
QFDialog::accept();
|
||||
}
|
||||
|
||||
void DialogMeshOptimizationOCCT::selectedComponentsSlot(QList<MeshData::MeshSet*> components)
|
||||
{
|
||||
// 选择模型表面
|
||||
emit _mainWindow->selectModelChanged((int)ModuleBase::SelectModel::BoxMeshSurfaceCell); // 修改界面
|
||||
}
|
||||
|
||||
|
||||
void DialogMeshOptimizationOCCT::Select_HighLightItem(QMultiHash<int, int>* items) {
|
||||
// cell 分析共有节点
|
||||
QList<int> datasetList = items->uniqueKeys(); // 获取所有的key
|
||||
if(items->isEmpty()){
|
||||
return;
|
||||
}
|
||||
if(datasetList.count()==0){
|
||||
return ;
|
||||
}
|
||||
if(datasetList.count()!=1){
|
||||
QMessageBox::warning(this, tr("Warning"), tr(u8"请选择一个模型的表面集合"));
|
||||
}else{
|
||||
this->_selectItems=items; // 设置徐泽
|
||||
|
||||
this->_ui->SelectFace->setText(QString(u8"选择面片数量 (%1) ").arg(items->values().count()));
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace MainWidget
|
||||
|
||||
void MeshData::MeshOptimizationOCCTThreadTask::run() {
|
||||
ModuleBase::ThreadTask::run();
|
||||
bool result = false;
|
||||
QString componentIds = _componentIds;
|
||||
emit _mainwindow->printMessage(Common::Message::Normal, "PCLGPMeshAlg");
|
||||
// 获取vtdataset
|
||||
QStringList qCompontIds = QString(componentIds).split(',');
|
||||
|
||||
MeshSet* meshSet = NULL;
|
||||
MeshKernal* meshKernal = NULL;
|
||||
MeshData* meshData = MeshData::MeshData::getInstance();
|
||||
QString kernalName, transformedName, setType, ids;
|
||||
// 创建 vtkCellDataToPointData 过滤器
|
||||
vtkSmartPointer<vtkGeometryFilter> cellToPointFilter = vtkSmartPointer<vtkGeometryFilter>::New();
|
||||
vtkSmartPointer<vtkPolyData> inpolyData=vtkSmartPointer<vtkPolyData>::New();
|
||||
vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();
|
||||
|
||||
for (QString compontId: qCompontIds) {
|
||||
meshSet = meshData->getMeshSetByID(compontId.toInt());
|
||||
DebugInfo("point count %d : %d \n", compontId.toInt(), meshSet == nullptr);
|
||||
if (!meshSet)
|
||||
continue;
|
||||
QString outfilename = meshSet->getName();
|
||||
cellToPointFilter->SetInputData(PointCloudOperator::PointCloudCommon::meshSetToVtkDataset(meshSet));
|
||||
DebugInfo("point count %d \n", compontId.toInt());
|
||||
}
|
||||
|
||||
// 执行过滤操作
|
||||
cellToPointFilter->Update();
|
||||
DebugInfo("cellToPointFilter \n");
|
||||
// 获取过滤后的 vtkPolyData
|
||||
inpolyData = cellToPointFilter->GetOutput();
|
||||
|
||||
MeshOperator* _meshOperator = new MeshOperator(_mainwindow);
|
||||
QString tempStl_path=_meshOperator->actionMeshOptimizationOCCT(inpolyData,_linearDeflection,_relativeMode,_angularDeflection);
|
||||
_fileName=tempStl_path;
|
||||
setThreadRunState(QFile(tempStl_path).exists());
|
||||
DebugInfo("run ok _success %d _threadRuning %d \n", _success, _threadRuning);
|
||||
defaultMeshFinished();
|
||||
}
|
||||
void MeshData::MeshOptimizationOCCTThreadTask::defaultMeshFinished() {
|
||||
ModuleBase::ThreadTask::threadTaskFinished();
|
||||
Py::PythonAgent::getInstance()->unLock();
|
||||
if (_threadRuning) {
|
||||
QString information{};
|
||||
ModuleBase::Message msg;
|
||||
// 使用程序加载并读取stl
|
||||
QString stdPath=_fileName;
|
||||
QFileInfo info(stdPath);
|
||||
if (_success&&info.exists() ){
|
||||
QString name = info.fileName();
|
||||
QString path = info.filePath();
|
||||
QString suffix = "STL(*.stl)"; // 这里应该与 MeshDataExchangePlugin::install() 中的一致
|
||||
|
||||
emit _mainwindow->importMeshSIGN(stdPath,suffix,-1);
|
||||
|
||||
information = QString("Successful resurface Mesh From \"%1\"").arg(_fileName);
|
||||
msg.type = Common::Message::Normal;
|
||||
msg.message = information;
|
||||
qDebug() << "Successful Import Mesh From " << _fileName;
|
||||
|
||||
} else {
|
||||
information = QString("Failed resurface From \"%1\"").arg(_fileName);
|
||||
msg.type = Common::Message::Error;
|
||||
msg.message = information;
|
||||
qDebug() << "Failed resurface Mesh From " << _fileName;
|
||||
}
|
||||
emit _mainwindow->printMessageToMessageWindow(msg);
|
||||
}
|
||||
|
||||
qDebug()<<"PCLGPMesh::defaultMeshFinished ModuleBase::ThreadTask::threadTaskFinished";
|
||||
// Py::PythonAgent::getInstance()->unLock();
|
||||
}
|
||||
void MeshData::MeshOptimizationOCCTThreadTask::setThreadRunState(bool flag) {
|
||||
_success = flag;
|
||||
}
|
||||
MeshData::MeshOptimizationOCCTThreadTask::MeshOptimizationOCCTThreadTask(GUI::MainWindow* mw, QString componentIds, double linearDeflection,
|
||||
bool relativeMode, double angularDeflection): ModuleBase::ThreadTask(mw),
|
||||
_componentIds(componentIds),_linearDeflection(linearDeflection),_relativeMode(relativeMode),_angularDeflection(angularDeflection)
|
||||
{
|
||||
|
||||
}
|
||||
MeshData::MeshOptimizationOCCTThreadTask::~MeshOptimizationOCCTThreadTask() {
|
||||
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
/**
|
||||
* @file DialogPCLGuassFilter.h
|
||||
* @brief 高斯滤波
|
||||
* @author 陈增辉 (3045316072@qq.com)
|
||||
* @version 2.5.0
|
||||
* @date 2024/4/5
|
||||
* @copyright Copyright (c) Since 2024 中科卫星应用研究院 All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef LAMPCAE_DIALOGPCLGUASSFILTER_H
|
||||
#define LAMPCAE_DIALOGPCLGUASSFILTER_H
|
||||
|
||||
#include "meshDataExchangePluginAPI.h"
|
||||
#include "SelfDefObject/QFDialog.h"
|
||||
#include "MainWidgets/DialogVTKTransform.h"
|
||||
#include "MeshThreadBase.h"
|
||||
#include "MainWidgets/preWindow.h"
|
||||
|
||||
namespace MeshData{
|
||||
class PointCloudThreadBase;
|
||||
}
|
||||
|
||||
class QListWidgetItem;
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class DialogMeshOptimizationOCCT;
|
||||
}
|
||||
|
||||
namespace MeshData
|
||||
{
|
||||
class MeshSet;
|
||||
}
|
||||
|
||||
namespace MainWidget{
|
||||
class PreWindow;
|
||||
}
|
||||
|
||||
|
||||
|
||||
namespace MeshData{
|
||||
|
||||
class MeshOptimizationOCCTThreadTask : public ModuleBase::ThreadTask
|
||||
{
|
||||
public:
|
||||
MeshOptimizationOCCTThreadTask(GUI::MainWindow *mw, QString componentIds, double linearDeflection, bool relativeMode , double angularDeflection);
|
||||
virtual ~MeshOptimizationOCCTThreadTask();
|
||||
|
||||
virtual void run();
|
||||
void defaultMeshFinished();
|
||||
void setThreadRunState(bool);
|
||||
|
||||
|
||||
private:
|
||||
bool _success{false};
|
||||
QString _fileName;
|
||||
|
||||
double _linearDeflection;
|
||||
bool _relativeMode ;
|
||||
double _angularDeflection;
|
||||
QString _componentIds;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
namespace MainWidget {
|
||||
class DialogSelectComponents;
|
||||
|
||||
class DialogMeshOptimizationOCCT : public QFDialog {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DialogMeshOptimizationOCCT(GUI::MainWindow* parent);
|
||||
~DialogMeshOptimizationOCCT() ;
|
||||
private:
|
||||
//void removeCurrentItem(QListWidgetItem* curItem);
|
||||
signals: // 这里采用信号来直接与 主界面通信,避免参数浪费
|
||||
void excuteAlg(QString componentIds,double sigma,double threshold,double radius);
|
||||
private slots:
|
||||
virtual void accept();
|
||||
void selectedComponentsSlot(QList<MeshData::MeshSet*> components);
|
||||
void Select_HighLightItem(QMultiHash<int, int> *item);
|
||||
private:
|
||||
GUI::MainWindow* _mw;
|
||||
DialogSelectComponents* _selectdlg;
|
||||
MainWidget::PreWindow* _preWindow;
|
||||
QMultiHash<int, int>* _selectItems;
|
||||
private:
|
||||
Ui::DialogMeshOptimizationOCCT* _ui;
|
||||
};
|
||||
} // namespace MainWidget
|
||||
|
||||
#endif // LAMPCAE_DIALOGPCLGUASSFILTER_H
|
|
@ -0,0 +1,298 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DialogMeshOptimizationOCCT</class>
|
||||
<widget class="QDialog" name="DialogMeshOptimizationOCCT">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>340</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>375</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>600</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>网格优化</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="3" column="0">
|
||||
<widget class="QDialogButtonBox" name="btBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>357</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>600</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>params</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="checkBox_relativeMode">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="angularDeflection">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>238</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>238</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>-360.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>360.000000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="thresholdLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>91</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>relativeMode : </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="SigmaLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>91</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>linearDeflection : </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="linearDeflection">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>238</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>238</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>-360.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>360.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.020000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="radiusLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>91</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>angularDeflection : </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>357</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>600</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Selected Component</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="SelectFace">
|
||||
<property name="text">
|
||||
<string>选择面片数量 (0) </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="geoSelectPoint">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string extracomment="Clicked Button Selected Components"/>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../qrc/qianfan.qrc">
|
||||
<normaloff>:/QUI/geometry/selectface.png</normaloff>:/QUI/geometry/selectface.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>8</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../qrc/qianfan.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>btBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>DialogMeshOptimizationOCCT</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>299</x>
|
||||
<y>314</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>299</x>
|
||||
<y>169</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>btBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>DialogMeshOptimizationOCCT</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>299</x>
|
||||
<y>314</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>299</x>
|
||||
<y>169</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// Created by wuxiaxin on 24-7-18.
|
||||
//
|
||||
|
||||
// You may need to build the project (run Qt uic code generator) to get
|
||||
// "ui_Automated3DVegetationScanningSystem.h" resolved
|
||||
|
||||
#include "automated3dvegetationscanningsystem.h"
|
||||
#include "ui_Automated3DVegetationScanningSystem.h"
|
||||
|
||||
namespace WBFZEquipment {
|
||||
Automated3DVegetationScanningSystem::Automated3DVegetationScanningSystem(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, ui(new Ui::Automated3DVegetationScanningSystem)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
Automated3DVegetationScanningSystem::~Automated3DVegetationScanningSystem()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
} // namespace WBFZEquipment
|
|
@ -0,0 +1,29 @@
|
|||
//
|
||||
// Created by wuxiaxin on 24-7-18.
|
||||
//
|
||||
|
||||
#ifndef LAMPCAE_AUTOMATED3DVEGETATIONSCANNINGSYSTEM_H
|
||||
#define LAMPCAE_AUTOMATED3DVEGETATIONSCANNINGSYSTEM_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace WBFZEquipment {
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class Automated3DVegetationScanningSystem;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class Automated3DVegetationScanningSystem : public QDialog {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Automated3DVegetationScanningSystem(QWidget* parent = nullptr);
|
||||
~Automated3DVegetationScanningSystem() override;
|
||||
|
||||
private:
|
||||
Ui::Automated3DVegetationScanningSystem* ui;
|
||||
};
|
||||
} // namespace WBFZEquipment
|
||||
|
||||
#endif // LAMPCAE_AUTOMATED3DVEGETATIONSCANNINGSYSTEM_H
|
|
@ -0,0 +1,191 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WBFZEquipment::Automated3DVegetationScanningSystem</class>
|
||||
<widget class="QDialog" name="WBFZEquipment::Automated3DVegetationScanningSystem">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>883</width>
|
||||
<height>644</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Automated3DVegetationScanningSystem</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>190</x>
|
||||
<y>20</y>
|
||||
<width>481</width>
|
||||
<height>81</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>36</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>植被三维自动扫描系统</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>400</y>
|
||||
<width>161</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>水平扫描点个数:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>580</x>
|
||||
<y>430</y>
|
||||
<width>181</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>开始扫描</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>480</x>
|
||||
<y>230</y>
|
||||
<width>211</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>平台后退</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>480</y>
|
||||
<width>171</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>230</y>
|
||||
<width>211</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>垂直向上运动</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>140</y>
|
||||
<width>211</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>垂直向下运动</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>480</x>
|
||||
<y>140</y>
|
||||
<width>211</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>平台前进</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>480</y>
|
||||
<width>161</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>垂直扫描点个数:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>400</y>
|
||||
<width>171</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// Created by wuxiaxin on 24-7-18.
|
||||
//
|
||||
|
||||
// You may need to build the project (run Qt uic code generator) to get
|
||||
// "ui_RoughnessGenerationSystem.h" resolved
|
||||
|
||||
#include "roughnessgenerationsystem.h"
|
||||
#include "ui_RoughnessGenerationSystem.h"
|
||||
|
||||
namespace WBFZEquipment {
|
||||
RoughnessGenerationSystem::RoughnessGenerationSystem(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, ui(new Ui::RoughnessGenerationSystem)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
RoughnessGenerationSystem::~RoughnessGenerationSystem()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
} // namespace WBFZEquipment
|
|
@ -0,0 +1,29 @@
|
|||
//
|
||||
// Created by wuxiaxin on 24-7-18.
|
||||
//
|
||||
|
||||
#ifndef LAMPCAE_ROUGHNESSGENERATIONSYSTEM_H
|
||||
#define LAMPCAE_ROUGHNESSGENERATIONSYSTEM_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace WBFZEquipment {
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class RoughnessGenerationSystem;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class RoughnessGenerationSystem : public QDialog {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit RoughnessGenerationSystem(QWidget* parent = nullptr);
|
||||
~RoughnessGenerationSystem() override;
|
||||
|
||||
private:
|
||||
Ui::RoughnessGenerationSystem* ui;
|
||||
};
|
||||
} // namespace WBFZEquipment
|
||||
|
||||
#endif // LAMPCAE_ROUGHNESSGENERATIONSYSTEM_H
|
|
@ -0,0 +1,532 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WBFZEquipment::RoughnessGenerationSystem</class>
|
||||
<widget class="QDialog" name="WBFZEquipment::RoughnessGenerationSystem">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>983</width>
|
||||
<height>697</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>RoughnessGenerationSystem</string>
|
||||
</property>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>160</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>F1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>220</x>
|
||||
<y>40</y>
|
||||
<width>341</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>36</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>粗糙度生成系统</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>210</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>F2</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>310</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>F4</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>260</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>F3</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>返回</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>14</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>⇈</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>180</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>14</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>⇊</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>230</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>输入</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>280</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>←</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>330</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>→</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>↑</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>430</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>↓</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>480</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>删除</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>390</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>确认</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_15">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>160</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>650</x>
|
||||
<y>160</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_17">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>700</x>
|
||||
<y>160</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_18">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>210</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_19">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>650</x>
|
||||
<y>210</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_20">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>700</x>
|
||||
<y>210</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_21">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>260</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_22">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>650</x>
|
||||
<y>260</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_23">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>700</x>
|
||||
<y>260</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>9</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_24">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>600</x>
|
||||
<y>310</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_25">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>650</x>
|
||||
<y>310</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_26">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>700</x>
|
||||
<y>310</y>
|
||||
<width>41</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// Created by wuxiaxin on 24-7-18.
|
||||
//
|
||||
|
||||
// You may need to build the project (run Qt uic code generator) to get
|
||||
// "ui_SoilSurface3DMeasurementSystem.h" resolved
|
||||
|
||||
#include "soilsurface3dmeasurementsystem.h"
|
||||
#include "ui_SoilSurface3DMeasurementSystem.h"
|
||||
|
||||
namespace WBFZEquipment {
|
||||
SoilSurface3DMeasurementSystem::SoilSurface3DMeasurementSystem(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, ui(new Ui::SoilSurface3DMeasurementSystem)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
SoilSurface3DMeasurementSystem::~SoilSurface3DMeasurementSystem()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
} // namespace WBFZEquipment
|
|
@ -0,0 +1,29 @@
|
|||
//
|
||||
// Created by wuxiaxin on 24-7-18.
|
||||
//
|
||||
|
||||
#ifndef LAMPCAE_SOILSURFACE3DMEASUREMENTSYSTEM_H
|
||||
#define LAMPCAE_SOILSURFACE3DMEASUREMENTSYSTEM_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace WBFZEquipment {
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class SoilSurface3DMeasurementSystem;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class SoilSurface3DMeasurementSystem : public QDialog {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SoilSurface3DMeasurementSystem(QWidget* parent = nullptr);
|
||||
~SoilSurface3DMeasurementSystem() override;
|
||||
|
||||
private:
|
||||
Ui::SoilSurface3DMeasurementSystem* ui;
|
||||
};
|
||||
} // namespace WBFZEquipment
|
||||
|
||||
#endif // LAMPCAE_SOILSURFACE3DMEASUREMENTSYSTEM_H
|
|
@ -0,0 +1,306 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WBFZEquipment::SoilSurface3DMeasurementSystem</class>
|
||||
<widget class="QDialog" name="WBFZEquipment::SoilSurface3DMeasurementSystem">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>896</width>
|
||||
<height>686</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>SoilSurface3DMeasurementSystem</string>
|
||||
</property>
|
||||
<widget class="QTextEdit" name="textEdit_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>340</x>
|
||||
<y>500</y>
|
||||
<width>441</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>230</x>
|
||||
<y>310</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>310</y>
|
||||
<width>91</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>采样间隔</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>310</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Y轴负向运动</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>210</y>
|
||||
<width>91</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>开始位置</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>230</x>
|
||||
<y>260</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>210</y>
|
||||
<width>291</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>紧急停止</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>360</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>X轴归零</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>500</y>
|
||||
<width>161</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>文件保存位置</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>370</y>
|
||||
<width>261</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>从当前位置开始测量</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>260</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>X轴正向运动</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>360</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Y轴归零</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>260</y>
|
||||
<width>91</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>结束位置</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>230</x>
|
||||
<y>210</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>260</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Y轴正向运动</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>200</x>
|
||||
<y>70</y>
|
||||
<width>491</width>
|
||||
<height>71</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>AcadEref</family>
|
||||
<pointsize>36</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>土壤表面三维测量系统</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>310</y>
|
||||
<width>141</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>X轴负向运动</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
Loading…
Reference in New Issue