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

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD>: SegY<67><59>ʽ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д:
//<2F><><EFBFBD>ڣ<EFBFBD>2005-12-07
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include ".\mxnbase.h"
namespace NMxn
{
class AFX_EXT_CLASS CMxnRow : public CMxnBase
{
protected:
virtual void RowMath(void);
CPoint* solid;
public:
CMxnRow(void);
virtual ~CMxnRow(void);
virtual int Initialize(CString name);
virtual void Close(void);
void operator=(CMxnRow& row);
int Read(); //<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СֵҲͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int ReadRowHead(void);
int ReadRowTrace(void);
int ReadRowTrace(int begin_index, int end_index); //ָ<><D6B8>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL IsNullTrace(void);
void Write(CFileSegy& fw);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dSampleInterval
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> nSampleNumber
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> nDataType
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>վ<EFBFBD><D5BE>ʽIsPC
//<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> nFormatCode
void WriteTrace (CFileSegy& fw, short dSampleInterval, short nSampleNumber, CFileSegy::EDataType dt, int IsPC);
void WriteFileHead (CFileSegy& fw, short dSampleInterval=-1, short nSampleNumber=-1, CFileSegy::EDataType dt=CFileSegy::typeIbmFloat);
void WriteSourceTrace(CFileSegy& fw, short nSampleStep, short nSampleNumber);
double A(int index); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
void SetAt(int index,double v);
int GetRowLength(void); //һ<><D2BB><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DrawSolidLeft (CDC *pDC, CPoint2D &point, int y1, int y2, double dx, double dy);
void DrawSolidRight (CDC *pDC, CPoint2D &point, int y1, int y2, double dx, double dy);
void DrawRow (CDC *pDC, CPoint2D &point, int y1, int y2, double dx, double dy);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
double FitScale(double av, double dx);
double times; // <20><><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>
char *row_head; //<2F><>ͷ
double *value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double average; //<2F><><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD>ֵ
double amin,amax; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
double rms; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
};
}//namespace