#pragma once #include "BaseElements.h" //读写及操作dfg曲面 class GPline; class AFX_EXT_CLASS GSurface { public: GSurface(); ~GSurface(); bool ReadDfg(FILE* fr); bool ReadDfg(const char* filename); bool WriteDfg(FILE* fw); bool WriteDfg(const char* filename); void Clear(void); //清空 int Create(int numx, int numy, double x0, double y0, double dx, double dy); int Create(int numx, int numy, double x0, double y0, double dx, double dy, double* values); void SetZRange(double zmin, double zmax); int XNum(void); int YNum(void); double X(int i); double Y(int j); double Z(int i, int j); double Z(double x0, double y0); //只取断层外部的结点插值 double Value(double x0, double y0, GPline* png); int Value(double x0, double y0, double segX0, double segY0, double segX1, double segY1, bool clockwize, vector& ptsResult); bool IsInRange(double z0); void CalcRange(void); double DeltX(); double DeltY(); protected: int m_num[2]; double m_P0[2]; double m_delt[2]; double m_range[2]; double* m_u; };