You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AppFlow/FITK_Component/FITKCGNSIO/FITKCGNSIOInterface.cpp

83 lines
2.2 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include "FITKCGNSIOInterface.h"
#include "FITKCGNSReader.h"
#include "FITK_Interface/FITKInterfaceMesh/FITKUnstructuredFluidMeshVTK.h"
#include "FITK_Kernel/FITKAppFramework/FITKAppFramework.h"
#include "FITK_Kernel/FITKAppFramework/FITKGlobalData.h"
namespace IO
{
QString FITKCGNSIOInterface::getComponentName()
{
//返回类型名
return "IO::FITKCGNSIOInterface";
}
void FITKCGNSIOInterface::setFileName(const QString& fileName)
{
m_fileName = fileName;
}
bool FITKCGNSIOInterface::exec(const int indexPort)
{
m_success = false;
if (m_Mesh == nullptr) return false;
if (m_fileName.isEmpty()) return false;
//判断indexPort 1读取 2写出
switch (indexPort)
{
case 1:
m_io = new FITKCGNSReader;
break;
case 2:
m_io = nullptr;
break;
default: break;
}
if (m_io == nullptr) return false;
m_io->setFileName(m_fileName);
m_io->setDataObject(m_Mesh);
m_io->setResultMark(&m_success);
m_io->run();
//connect(m_io.getObjectPtr(), SIGNAL(taskFinishedSig(FITKThreadTask*)), this, SLOT(ioThreadFinishedSlot()), Qt::UniqueConnection);
//m_io->setFileName(m_fileName);
//m_io->setDataObject(m_Mesh);
//m_io->setResultMark(&m_success);
////在线程运行,提交到线程池
//if (m_runInThread)
// m_io->push2ThreadPool();
//else
//{
// m_io->run();
// //不在线程运行,执行完读写之后直接触发结束信号
// emit ioThreadFinishedSig();
//}
return m_success;
}
bool FITKCGNSIOInterface::isSuccess()
{
return m_success;
}
bool FITKCGNSIOInterface::isRunning()
{
return m_io != nullptr;
}
void FITKCGNSIOInterface::setMeshObj(Interface::FITKUnstructuredFluidMeshVTK * mesh)
{
m_Mesh = mesh;
}
void FITKCGNSIOInterface::setRunInThread(bool r /*= true*/)
{
m_runInThread = r;
}
void FITKCGNSIOInterface::ioThreadFinishedSlot()
{
emit this->ioThreadFinishedSig();
}
}