📄 cfiledataholder.cpp
字号:
#include "stdafx.h"
#include "CFileDataHolder.h"
#include "../iasp91/iasp.h"
using namespace std;
double CFileDataHolder::m_vScale = 1.0;
double CFileDataHolder::m_hScale = 1.0;
double CFileDataHolder::m_singleProfileHeight = 80;
CFileDataHolder::CFileDataHolder(void):m_pData(NULL),
m_bDrawIndex(0), m_eDrawIndex(0),
#if defined(_AFXDLL)
m_bShow(true),
#endif
m_cmpnm(0)
{
m_npts = 0; // points in the file.
m_delta = 0; // 等间隔采样点之间的增量
m_StLa = 0; // station latitude, unit is degree
m_StLo = 0; // station longitude, unit is degree
m_EvLa = 0; // event latitude, unit is degree
m_EvLo = 0; // event longitude, unit is degree
m_EvDp = 0; // event deep, unit is kilometer
m_EvBegin; // 事件发生时间,相对基准时间, unit is second
m_begin = 0; // 自变量开始值
m_end = 0;
// 文件基准时间(计时起点)
m_nzYear = 0; // GMT年
m_nzjDay = 0; // GMT儒略日
m_nzHour = 0;
m_nzMinute = 0;
m_nzSecond = 0;
m_nzMSec = 0;
m_FirstPhaseTm = 0; //初动到时,相对基准时间,unit is second
}
bool CFileDataHolder::CalcIASP91(void) {
if( m_IASP91.size() > 0 )
return false;// we have calculated the iasp91 arrival times
struct ttime tt;
wtptt(m_gcArc, m_EvDp, &tt);
char phase[9];
phase[8]=0x0;
for( int i = 0 ; i < tt.N; i++ ) {
memcpy( phase, &tt.mphase[i], 8 );
m_IASP91[tt.mtt[i]] = phase;
}
return true;
}
#if defined(_AFXDLL)
void CFileDataHolder::GetFileBaseTime( CTime & time ) {
long day = 0;
int mon;
for( mon = 1; mon< 12; mon++) {
day += daysInMonth( mon, m_nzYear );
if( day >= m_nzjDay ) {
day = m_nzjDay - (day - daysInMonth( mon, m_nzYear ));
break;
}
}
time = CTime(m_nzYear, mon, day, m_nzHour, m_nzMinute, m_nzSecond);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -