comac_desk_app/PostProcessing/MutiVTKFilesReader.h

51 lines
1.2 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @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