Merge remote-tracking branch 'lamp/master' into LAMPCAE-dev

# Conflicts:
#	src/MainWindow/MainWindow.cpp
#	src/PluginMeshDataExchange/VTKdataExchange.cpp
#	src/PluginMeshDataExchange/meshDataExchangePlugin.cpp
#	src/PluginMeshDataExchange/meshDataExchangePlugin.h
#	src/PluginWBFZExchangePlugin/AllHead.cpp
#	src/PluginWBFZExchangePlugin/DialogPCLGPMesh.cpp
#	src/PluginWBFZExchangePlugin/DialogPCLStatisticalRemoveFilter.cpp
#	src/PluginWBFZExchangePlugin/EchoTableEditWindow.cpp
#	src/PluginWBFZExchangePlugin/EchoTableEditWindow.ui
#	src/PluginWBFZExchangePlugin/LAMP_ScatterSettingClass.cpp
#	src/PluginWBFZExchangePlugin/LAMP_ScatterSettingClass.h
#	src/PluginWBFZExchangePlugin/LAMP_ScatterSettingClass.ui
pull/2/head^2
剑古敛锋 2024-07-23 14:10:48 +08:00
commit fa014514e2
8 changed files with 75 additions and 11 deletions

View File

@ -58,8 +58,12 @@ void MainWidget::DialogVTKTransform::accept()
return;
QString componentIds, rotate, moveLocation, scale;
for (auto component : _components)
for (auto component : _components) {
componentIds.append(QString(",%1").arg(component->getID()));
qDebug()<<"generateDisplayDataSet "<< component->getID();
meshData->getMeshSetByID(component->getID())->generateDisplayDataSet();
}
componentIds.remove(0, 1);
rotate.append(_ui->rotateAngleDSB->text() + ",");
@ -75,6 +79,8 @@ void MainWidget::DialogVTKTransform::accept()
moveLocation = _ui->directionXDSB->text() + ',' + _ui->directionYDSB->text() + ',' + _ui->directionZDSB->text();
scale = _ui->scaleXDSB->text() + ',' + _ui->scaleYDSB->text() + ',' + _ui->scaleZDSB->text();
QString code = QString("MainWindow.createVTKTransform(\"%1\",\"%2\",\"%3\",\"%4\")").arg(componentIds).arg(rotate).arg(moveLocation).arg(scale);
Py::PythonAgent::getInstance()->submit(code);
QFDialog::accept();

View File

@ -155,6 +155,12 @@ namespace GUI {
// Ribbon Customize
SARibbonActionsManager* getActionManager();
// 导入mesh
void importMesh(QString filepath,QString aSuffix,int modelID);
/// 导入点云
void importPcl(QString filepath,QString aSuffix,int modelID);
signals:
// 网格操作
void on_deleteMeshSIGNAL(GUI::MainWindow* m);
@ -555,6 +561,11 @@ namespace GUI {
//
void setPostAnimationToolBar(bool ribbon);
// 关闭未开发完功能,将来准备适配的功能,包括三维结构渲染,影像处理模块
private:
/**
* @brief ui

View File

@ -160,6 +160,7 @@ list(APPEND _runtimes_libraries
VTK::CommonColor VTK::CommonComputationalGeometry VTK::CommonCore VTK::CommonDataModel VTK::CommonExecutionModel VTK::CommonMath VTK::CommonMisc VTK::CommonSystem VTK::CommonTransforms VTK::DICOMParser VTK::FiltersCore VTK::FiltersGeneral VTK::FiltersGeometry VTK::FiltersHybrid VTK::FiltersModeling VTK::FiltersSources VTK::IOCore VTK::IOChemistry VTK::IOGeometry VTK::IOImage VTK::IOLegacy VTK::ImagingCore VTK::ImagingSources VTK::RenderingCore VTK::RenderingLOD VTK::doubleconversion VTK::jpeg VTK::jsoncpp VTK::lz4 VTK::lzma VTK::metaio VTK::png VTK::pugixml VTK::sys VTK::tiff VTK::zlib
)
#-----------------------------------------------------------------------------
#
#-----------------------------------------------------------------------------
@ -167,6 +168,10 @@ target_link_libraries(PluginMeshDataExchange PRIVATE
${_runtimes_libraries}
${_depend_library}
${PCL_LIBRARIES}
unofficial::sqlite3::sqlite3
GDAL::GDAL
FFTW3::fftw3
GSL::gsl GSL::gslcblas
)
#-----------------------------------------------------------------------------

View File

@ -335,6 +335,10 @@
#include <QElapsedTimer>
//==============
// LAMPCAE
//=============
#include "Settings/BusAPI.h"
enum TaskStatusEnum {
wait,
@ -372,7 +376,7 @@ class QObject;
//=======================================================
// 常用基础函数
//======================================================= ]
QSettings* getQSetting();
QSettings* getQSetting();
QString getOpenFilePath(QWidget* parent = nullptr, const QString& caption = QString(), const QString& filter = QString());

View File

@ -62,7 +62,7 @@ private:
public slots:
void calBackSCatter();
// tableview 右键菜单
void ShowTableViewContextMenu(QPoint p);
void tableView_CopyAction();

View File

@ -165,20 +165,24 @@ unsigned long convertToULong(const QString& input) {
return result;
}
void copyFile(const QString& sourcePath, const QString& destinationPath) {
void copyFile(const QString& sourcePath, const QString& destinationPath) {
QFile sourceFile(sourcePath);
QFile destinationFile(destinationPath);
qDebug() << QString("copy file ready !! from ") + sourcePath+" to "+destinationPath ;
if (sourceFile.exists()) {
if (sourceFile.copy(destinationPath)) {
qDebug() << QString("copy file sucessfully !! from ") + sourcePath+" to "+destinationPath ;
// 复制成功
//QMessageBox::information(nullptr, u8"成功", u8"文件复制成功");
}
else {
// 复制失败
QMessageBox::critical(nullptr, QObject::tr("error"), QObject::tr("file copy error"));
if(sourceFile.exists()){
QMessageBox::critical(nullptr, QObject::tr("error"), QObject::tr("The file already exists !!"));
}
else{
QMessageBox::critical(nullptr, QObject::tr("error"), QObject::tr("file copy error"));
}
}
}
else {

View File

@ -123,6 +123,36 @@ void FEKOResultCsvTableModel::loadCSVFilePath(QString csvPath)
// }
//
this->SetData(datamap, colnames, rowIDlist);
QStringList tempColNames;
for(int i=0;i<colnames.size();i++){
if(colnames[i].indexOf("Re")>=0){
QString colname=colnames[i];
colname.replace("Re","");
colname.replace("(","");
colname.replace(")","");
tempColNames.append(colname);
}
}
// for(int ii=0;ii<tempColNames.size();ii++) {
// colnames.append(tempColNames[ii]);
// for(size_t i = 0; i < datamap.size(); i++) {
// QVector<QVariant> mapline = datamap[i];
// double re = 0;
// double im = 0;
// for(int col = 1; col < mapline.size(); col++) {
// if(colnames[col].contains("Re") && colnames[col].contains(tempColNames[ii])){
// re=mapline[col].toDouble();
// }else{}
// if(colnames[col].contains("Im") && colnames[col].contains(tempColNames[ii])){
// im=mapline[col].toDouble();
// }else{}
// }
// double RCS=sqrt(re*re+im*im);
// mapline.append(QString::number(RCS));
// }
// }
}
void FEKOResultCsvTableModel::saveCSVFilePath(QString csvpath)

View File

@ -393,14 +393,17 @@ void ComplexDataShowNode::OpenData(QString TaskXmlPath)
int ComplexDataShowNode::ExcuteTask()
{
this->status = TaskStatusEnum::excuting;
qDebug()<<"ComplexDataShowNode::ExcuteTask";
this->Load_amp_Image();
return 0;
}
void ComplexDataShowNode::Load_amp_Image()
{
ImageShowDialogClass* DataShowDockWidget = new ImageShowDialogClass(this);
qDebug()<<"ComplexDataShowNode::Load_amp_Image";
gdalImageComplex img(this->TaskXmlPath);
qDebug()<<"gdalImageComplex img(this->TaskXmlPath);";
Eigen::MatrixXcd im_final = img.getDataComplex(0, 0, img.height, img.width, 1);
Eigen::MatrixXd gt = img.getGeoTranslation();
@ -413,10 +416,11 @@ void ComplexDataShowNode::Load_amp_Image()
for (int i = 0; i < img.width; i++) {
X(i, 0) = gt(0, 0) + gt(0, 1) * i - gt(0, 2) * 0;
}
qDebug()<<"load_double_MatrixX_data";
Eigen::MatrixXd im_amp = Complex2Amplitude(im_final);
ImageShowDialogClass* DataShowDockWidget = new ImageShowDialogClass(nullptr);
DataShowDockWidget->load_double_MatrixX_data(X, Y, im_amp, this->getName());
qDebug()<<"DataShowDockWidget->show";
DataShowDockWidget->show();
}