|
|
#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();
|
|
|
}
|
|
|
}
|