You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
988 B
C++

#pragma once
#include <stdio.h>
//读写及操作dfg曲面
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, double zMin=-1E300, double zMax=1E300);
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);
void setZ(int i, int j, double z);
// //只取断层外部的结点插值
// double Value(double x0, double y0, GPline* png);
bool IsInRange(double z0);
void CalcRange(double zMin = -1E300, double zMax = 1E300);
double DeltX();
double DeltY();
double* GetRange();
protected:
int m_num[2];
double m_P0[2];
double m_delt[2];
double m_range[2];
double* m_u;
};