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.

82 lines
2.4 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD>: SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
class AFX_EXT_CLASS CSectionCube
{
public:
CSectionCube(void);
virtual ~CSectionCube(void);
public:
virtual BOOL Open(void);
virtual void Close(void);
virtual void Clear(void);
virtual BOOL Create(LPCTSTR lpIni3D);
int Create(CString posFile, CString segyFile, int n, double dt, int IsPC, int nFormatCode);
BOOL IsOpen(void);
double A(int k); //<2F><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>CurrentNo<4E><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double A(int i, int j, int k); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5>Ż<EFBFBD><C5BB>øõ<C3B8><C3B5>ĵ<EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double A(int i, int j, double tk);
int GetMN(int& m, int& n); //<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>ߵ<EFBFBD><DFB5>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ߵ<EFBFBD><DFB5><EFBFBD>
double RA(int m, int n, int k); //<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>ߵ<EFBFBD><DFB5>Ż<EFBFBD><C5BB>øõ<C3B8><C3B5>ĵ<EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double RA(int m, int n, double tk);
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>idea=<3D><>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ܺͣ<DCBA>2<EFBFBD><32><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ֵ<EFBFBD><D6B5>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
virtual BOOL GetRangeSwing(int i, int j,double bt0, double et0, double& swing, int idea);
//<2F><><EFBFBD>ݿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ȫ<EFBFBD>ڷ<EFBFBD>Χ<EFBFBD><CEA7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>FALSE
BOOL GetIndexInHouse(int &bj, int &ej, double bt0, double et0);
//m,nΪ<6E>ڲ<EFBFBD><DAB2>ߵ<EFBFBD><DFB5><EFBFBD>
int ReadSwing(int i, int j, int beginIndex, int endIndex, double* pv); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>ֵ
double ReadOneData(CFileSegy* pFile); //<2F><><EFBFBD>ݵ<EFBFBD>ǰCurrentNo<4E><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡCDimension3D<33>ļ<EFBFBD><C4BC>е<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetCurrentNo(int i, int j); //<2F><><EFBFBD><EFBFBD>CurrentNo<4E><6F>ֵ
BOOL IsInHouse(int i, int j); //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ߵ<EFBFBD><DFB5>ŷ<EFBFBD>Χ<EFBFBD><CEA7>
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>дSEGY<47>ļ<EFBFBD>,mΪ<6D><CEAA><EFBFBD>ţ<EFBFBD><6E>ߺ<EFBFBD>,nProcessMode(0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
//nSampleNum<75><6D>nSampleIntervel<65><6C>ֵС<D6B5><D0A1><30><CAB1><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰSEGY<47>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int Write(CString m_output, int m1, int n1, int m2, int n2, int nSampleNum=-1, int nSampleIntervel=-1, int nProcessMode=0, int nFormatCode=1);
//<2F><>ȡP.F(x,y)<29>ļ<EFBFBD><C4BC>е<EFBFBD>ֵ
__int64 ValueP(int i, int j);
public:
int num[2];
double P0[2];
double delt[2];
int IsPC;
int n; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double dt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_nFormatCode; //<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
CString m_vFile; //<2F>ٶȳ<D9B6><C8B3>ļ<EFBFBD>
int m_nIdeaV; //<2F>ٶȳ<D9B6>
CString m_sx; //x.f(x,y)
CString m_sy; //y.f(x,y)
CString m_posFile;
CString m_segyFile;
CFileSegy::EDataType GetFormatCode(void);
protected:
BOOL InitWithPosition(void);
__int64 Position(void);
CFileSegy *fa;
CFileSegy *fp;
int CurrentNo;
};
inline CFileSegy::EDataType CSectionCube::GetFormatCode(void)
{
return (CFileSegy::EDataType)m_nFormatCode;
}