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++
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;
|
|
|
|
|
|
};
|
|
|