#pragma once #include "viewwidget.h" #include "GSurface.h" #include "coutlinedetector.h" using namespace std; class ViewOperator { public: ViewOperator(ViewWidget* view); ~ViewOperator(); // 从内存加载曲面 bool LoadGrid(int numx, int numy, double x0, double y0, double dx, double dy, double* values, double zMin = -1E300, double zMax = 1E300); // 从文件加载曲面 bool LoadDfg(QString strDfg); bool GetSurfaceZRange(double& zMin, double& zMax); bool GetSurfaceParameter(int& xNum, int& yNum, double& deltaX, double& deltaY, double& zMin, double& zMax); bool GetDilateMax(int& diLateMax); void ViewBlackWhite(); void ViewColorFul(); void CreateLines(); char* WriteContours(); CPolygonTreeInterface* GetContourPtr(); public: double m_faciesZMin; double m_faciesZMax; int m_dilate; // 膨胀系数 double m_areaMin; int m_smoothTimes; private: void updateParameter(); void processImageAndCreateOriginalContours(); void showOriginalContours(); private: ViewWidget *viewWidget; GSurface* m_pSurface; COutlineDetector* m_detector; GSurface m_surfBlackWhite; };