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
1.0 KiB
C++
43 lines
1.0 KiB
C++
#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<GPoint3D>& 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;
|
|
|
|
|
|
};
|
|
|