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.
72 lines
1.8 KiB
C++
72 lines
1.8 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//文件: SegY文件操作类
|
|
//主要功能:
|
|
//
|
|
//程序编写: 2005-12-07
|
|
//
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
//仅是为了保存任意剖面数据,每道仅保存一个坐标
|
|
//这样为了保存不规则体,是CDimension3D的扩展保存方式
|
|
class AFX_EXT_CLASS CSectionAny
|
|
{
|
|
public:
|
|
CSectionAny(void);
|
|
virtual ~CSectionAny(void);
|
|
|
|
virtual int Create(int numx, int numy);
|
|
virtual void Empty(void);
|
|
|
|
virtual double XX(int nIndex);
|
|
virtual double YY(int nIndex);
|
|
virtual double AA(int i, int j);
|
|
virtual double ZZ(int i, int j);
|
|
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
|
|
BOOL IsInRangeA(double aa);
|
|
|
|
virtual void SetValueX(int nIndex, double x0);
|
|
virtual void SetValueY(int nIndex, double y0);
|
|
virtual void SetValue(int i, int j, double a0);
|
|
double* GetValueP(int nIndex);
|
|
virtual void GetRange(void);
|
|
|
|
double t0;
|
|
double dt; //每道的采样间隔
|
|
double rangeA[2]; //振幅范围
|
|
double rangeZ[2]; //Z值范围
|
|
int num[2];
|
|
double *x;
|
|
double *y;
|
|
double *a; //一道数据连接一道的保存
|
|
};
|
|
|
|
class AFX_EXT_CLASS CSectionCut : public CSectionAny
|
|
{
|
|
public:
|
|
CSectionCut(void);
|
|
virtual ~CSectionCut(void);
|
|
|
|
virtual int Create(int numx, int numy, double x0, double y0, double dx, double dy);
|
|
virtual int Create(int numx, int numy);
|
|
virtual void Empty(void);
|
|
virtual double XX(int nIndex);
|
|
virtual double YY(int nIndex);
|
|
virtual double AA(int i, int j);
|
|
virtual double ZZ(int i, int j);
|
|
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
|
|
virtual void GetRange(void);
|
|
virtual void SetValue (int i, int j, double a0); //设置振幅数据
|
|
virtual void SetValueZ(int i, int j, double z0); //设置振幅数据
|
|
|
|
double xmin(void);
|
|
double ymin(void);
|
|
double xmax(void);
|
|
double ymax(void);
|
|
|
|
double delt[2];
|
|
double *z;
|
|
};
|