51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
|
|
/**
|
|||
|
|
* @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
|