comac_desk_app/PostProcessing/MutiVTKFilesReader.h

51 lines
1.2 KiB
C
Raw Normal View History

2024-11-21 11:50:43 +08:00
/**
* @brief ".vtk"
* vtkPolyData/vtkUnstructedGrid类型
*/
#ifndef QVTK_MUTIVTKFILESREADER_H
#define QVTK_MUTIVTKFILESREADER_H
#include <QString>
class vtkPolyDataReader;
class vtkPointSet;
class vtkUnstructuredGridReader;
class vtkStructuredGridReader;
namespace pst
{
class MutiVTKFilesReader
{
enum DataType
{
POLYDATA,
UNSTRUCTEDGRID,
STRUCTEDGRID,
UNKNOWN //包括 文件不存在 和 不支持的.vtk格式 两种类型
};
public:
MutiVTKFilesReader();
~MutiVTKFilesReader();
public:
void SetFileName(const QString& fileName);
bool Update();
vtkPointSet* GetOutput();
//获取文件的内部类型如vtkPolyData、vtkUnstructedGrid
QString GetFileInnerTypeAsStrng();
private:
DataType CheckDataInnerType();
private:
QString m_fileName;
vtkPolyDataReader* m_polyDataReader;
vtkUnstructuredGridReader* m_unstructuredGridReader;
vtkStructuredGridReader* m_structuredGridReader;
QString m_fileType;
vtkPointSet* m_outputData;
};
} //namespace pst
#endif // QVTK_MUTIVTKFILESREADER_H