⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfiledataholder.cpp

📁 提供交互的方式选取合适的震相
💻 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 + -