|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<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>nΪ<6E>ߺ<EFBFBD>,nProcessMode(0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1Ϊ<31><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2Ϊ<32><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
//nSampleNum<75><6D>nSampleIntervel<65><6C>ֵС<D6B5><D0A1>0ʱ<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;
|
|
|
|
|
|
}
|