chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
This commit is contained in:
1 parent
2b0c2055ff
commit
164968b62e
6171 files changed
+191244
-191243
No files matched your search
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "FoldToolKit.h"
|
||||
|
||||
CFoldToolKit* CFoldToolKit::m_pInstance = NULL;
|
||||
@@ -36,37 +36,37 @@ CFoldToolKit::~CFoldToolKit(void)
|
||||
|
||||
void CFoldToolKit::IniEquation()
|
||||
{
|
||||
//初始化公式map
|
||||
//初始化公式map
|
||||
Equation equa;
|
||||
//公式 0
|
||||
//公式 0
|
||||
//equa.InputK(1.62461,-0.09877,-0.00355,-0.00219);
|
||||
equa.InputK(1.61761,-0.09964,-0.004,-0.00207);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.0")),equa));
|
||||
//公式 0.1
|
||||
//公式 0.1
|
||||
//equa.InputK(1.47755,-0.13857,0.01224,-0.0032);
|
||||
equa.InputK(1.47641,-0.13735,0.01189,-0.00317);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.1")),equa));
|
||||
//公式 0.2
|
||||
//公式 0.2
|
||||
//equa.InputK(1.35556,-0.1276,0.0123,-0.0031);
|
||||
equa.InputK(1.34738,-0.11862,0.00969,-0.00288);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.2")),equa));
|
||||
//公式 0.3
|
||||
//公式 0.3
|
||||
//equa.InputK(1.25006,-0.13541,0.01628,-0.00316);
|
||||
equa.InputK(1.24022,-0.12442,0.01305,-0.00289);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.3")),equa));
|
||||
//公式 0.4
|
||||
//公式 0.4
|
||||
//equa.InputK(1.16093,-0.09792,0.0053,-0.00207);
|
||||
equa.InputK(1.16073,-0.09698,0.00508,-0.00206);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.4")),equa));
|
||||
//公式 0.5
|
||||
//公式 0.5
|
||||
// equa.InputK(1.07223,-0.08827,0.00562,0.0021);
|
||||
equa.InputK(1.07195,-0.08759,0.00542,-0.00209);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.5")),equa));
|
||||
//公式 0.7
|
||||
//公式 0.7
|
||||
// equa.InputK(1.02243,-0.08841,0.0024,-0.00148);
|
||||
equa.InputK(1.01274,-0.07973,0.00034,-0.00134);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.7")),equa));
|
||||
//公式 0.9
|
||||
//公式 0.9
|
||||
// equa.InputK(0.9485,-0.06138,-0.00584,0);
|
||||
equa.InputK(0.9509,-0.06759,-0.00438,-0.00074);
|
||||
m_Equations.insert(std::make_pair(CString(_T("0.9")),equa));
|
||||
@@ -86,43 +86,43 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
}
|
||||
if (dHa < 1e-6)
|
||||
{
|
||||
//最小高度 小于等于 保护高度
|
||||
//最小高度 小于等于 保护高度
|
||||
dBx = 0;
|
||||
return FALSE;
|
||||
}
|
||||
double dP = 0.0;
|
||||
|
||||
//计算P
|
||||
//计算P
|
||||
if (dMinH - 30 < 1e-6)
|
||||
{
|
||||
//高度 小于等于30m
|
||||
//高度 小于等于30m
|
||||
dP = 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//高度大于30m
|
||||
//高度大于30m
|
||||
dP = 5.5 / pow(dMinH,0.5);
|
||||
if (dMinH - 120 > 1e-6)
|
||||
{
|
||||
//高度大于 120
|
||||
//高度大于 120
|
||||
dP = 5.5 / pow(120,0.5);
|
||||
}
|
||||
}
|
||||
//计算 有效距离
|
||||
//计算 有效距离
|
||||
double dD = CalcEffectDist(dH1,dH2,dDist,dHx);
|
||||
|
||||
//计算X
|
||||
//计算X
|
||||
double dX = 0.0;
|
||||
dX = dD / (dHa * dP);
|
||||
if (dX - 7.0 > -1e-6)
|
||||
{
|
||||
//dX 大于等于 7
|
||||
//dX 大于等于 7
|
||||
dBx = 0.0;
|
||||
return FALSE;
|
||||
}
|
||||
//计算BX
|
||||
//计算BX
|
||||
Equation eq1,eq2;
|
||||
//确定公式
|
||||
//确定公式
|
||||
double dEquK = dHx/dMinH,dEquK1 = 0.0,dEquK2 = 0.0;
|
||||
double dY1 = 0.0,dY2 = 0.0,dY = 0.0;
|
||||
CString sEquK1,sEquK2,sOut;
|
||||
@@ -137,13 +137,13 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
|
||||
if (dEquK - 0.5 > -1e-6 && 0.7 - dEquK > -1e-6)
|
||||
{
|
||||
// 0.5 ~ 0.7 缺少0.6和0.8的公式
|
||||
// 0.5 ~ 0.7 缺少0.6和0.8的公式
|
||||
sEquK1 = _T("0.5");
|
||||
sEquK2 = _T("0.7");
|
||||
}
|
||||
if (dEquK - 0.7 > 1e-6)
|
||||
{
|
||||
// 0.7 ~ 1 缺少0.6和0.8的公式
|
||||
// 0.7 ~ 1 缺少0.6和0.8的公式
|
||||
sEquK1 = _T("0.7");
|
||||
sEquK2 = _T("0.9");
|
||||
}
|
||||
@@ -157,7 +157,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//差值计算
|
||||
//差值计算
|
||||
dEquK1 = _tstof(sEquK1);
|
||||
dEquK2 = _tstof(sEquK2);
|
||||
eq1 = m_Equations[sEquK1];
|
||||
@@ -169,7 +169,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
|
||||
dBx = dY*(dMinH - dHx) * dP;
|
||||
|
||||
// 2012/3/23 支持山地坡地计算
|
||||
// 2012/3/23 支持山地坡地计算
|
||||
int nCheck = -1;
|
||||
CRegProperty reg(GetRegLocation(), _T("Thunder"));
|
||||
reg.SetTopRootKey(HKEY_CURRENT_USER);
|
||||
@@ -178,7 +178,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
nCheck = 0;
|
||||
}
|
||||
|
||||
//计算h0
|
||||
//计算h0
|
||||
double dH0 = dMinH - dD/(7 * dP);
|
||||
|
||||
if (nCheck)
|
||||
@@ -188,7 +188,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
dH0 = dMinH - dD / (5 * dP);
|
||||
}
|
||||
|
||||
//返回计算结果
|
||||
//返回计算结果
|
||||
FoldRes.m_dBx = dBx;
|
||||
FoldRes.m_dEffectD = dD;
|
||||
FoldRes.m_dY = dY;
|
||||
@@ -196,19 +196,19 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,Fold
|
||||
|
||||
if (fabs(dH0 - dHx) < 1e-6 && dBx > 1e-6)
|
||||
{
|
||||
//保护高度等于 h0
|
||||
//保护高度等于 h0
|
||||
dBx = 0.0;
|
||||
return TRUE;
|
||||
}
|
||||
if (dH0 - dHx < 1e-6)
|
||||
{
|
||||
//保护高度 大于 h0
|
||||
//保护高度 大于 h0
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (dBx < -1e-6)
|
||||
{
|
||||
//dBx < 0. 等于0时为临界,返回true
|
||||
//dBx < 0. 等于0时为临界,返回true
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -225,43 +225,43 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,doub
|
||||
}
|
||||
if (dHa < 1e-6)
|
||||
{
|
||||
//最小高度 小于等于 保护高度
|
||||
//最小高度 小于等于 保护高度
|
||||
dBx = 0;
|
||||
return FALSE;
|
||||
}
|
||||
double dP = 0.0;
|
||||
|
||||
//计算P
|
||||
//计算P
|
||||
if (dMinH - 30 < 1e-6)
|
||||
{
|
||||
//高度 小于等于30m
|
||||
//高度 小于等于30m
|
||||
dP = 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//高度大于30m
|
||||
//高度大于30m
|
||||
dP = 5.5 / pow(dMinH,0.5);
|
||||
if (dMinH - 120 > 1e-6)
|
||||
{
|
||||
//高度大于 120
|
||||
//高度大于 120
|
||||
dP = 5.5 / pow(120,0.5);
|
||||
}
|
||||
}
|
||||
//计算 有效距离
|
||||
//计算 有效距离
|
||||
double dD = CalcEffectDist(dH1,dH2,dDist,dHx);
|
||||
|
||||
//计算X
|
||||
//计算X
|
||||
double dX = 0.0;
|
||||
dX = dD / (dHa * dP);
|
||||
if (dX - 7.0 > -1e-6)
|
||||
{
|
||||
//dX 大于等于 7
|
||||
//dX 大于等于 7
|
||||
dBx = 0.0;
|
||||
return FALSE;
|
||||
}
|
||||
//计算BX
|
||||
//计算BX
|
||||
Equation eq1,eq2;
|
||||
//确定公式
|
||||
//确定公式
|
||||
double dEquK = dHx/dMinH,dEquK1 = 0.0,dEquK2 = 0.0;
|
||||
double dY1 = 0.0,dY2 = 0.0,dY = 0.0;
|
||||
CString sEquK1,sEquK2,sOut;
|
||||
@@ -276,13 +276,13 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,doub
|
||||
|
||||
if (dEquK - 0.5 > -1e-6 && 0.7 - dEquK > -1e-6)
|
||||
{
|
||||
// 0.5 ~ 0.7 缺少0.6和0.8的公式
|
||||
// 0.5 ~ 0.7 缺少0.6和0.8的公式
|
||||
sEquK1 = _T("0.5");
|
||||
sEquK2 = _T("0.7");
|
||||
}
|
||||
if (dEquK - 0.7 > 1e-6)
|
||||
{
|
||||
// 0.7 ~ 1 缺少0.6和0.8的公式
|
||||
// 0.7 ~ 1 缺少0.6和0.8的公式
|
||||
sEquK1 = _T("0.7");
|
||||
sEquK2 = _T("0.9");
|
||||
}
|
||||
@@ -296,7 +296,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,doub
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//差值计算
|
||||
//差值计算
|
||||
dEquK1 = _tstof(sEquK1);
|
||||
dEquK2 = _tstof(sEquK2);
|
||||
eq1 = m_Equations[sEquK1];
|
||||
@@ -309,7 +309,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,doub
|
||||
dBx = dY*(dMinH - dHx) * dP;
|
||||
|
||||
|
||||
// 计算h0 支持山地坡地计算 2012/3/21
|
||||
// 计算h0 支持山地坡地计算 2012/3/21
|
||||
int nCheck = -1;
|
||||
CRegProperty reg(GetRegLocation(), _T("Thunder"));
|
||||
reg.SetTopRootKey(HKEY_CURRENT_USER);
|
||||
@@ -318,7 +318,7 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,doub
|
||||
nCheck = 0;
|
||||
}
|
||||
|
||||
//计算h0
|
||||
//计算h0
|
||||
double dH0 = dMinH - dD/(7 * dP);
|
||||
|
||||
if (nCheck)
|
||||
@@ -330,19 +330,19 @@ BOOL CFoldToolKit::CalcFoldBx(double dH1,double dH2,double dDist,double dHx,doub
|
||||
|
||||
if (fabs(dH0 - dHx) < 1e-6 && dBx > 1e-6)
|
||||
{
|
||||
//保护高度等于 h0
|
||||
//保护高度等于 h0
|
||||
dBx = 0.0;
|
||||
return TRUE;
|
||||
}
|
||||
if (dH0 - dHx < 1e-6)
|
||||
{
|
||||
//保护高度 大于 h0
|
||||
//保护高度 大于 h0
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (dBx < -1e-6)
|
||||
{
|
||||
//dBx < 0. 等于0时为临界,返回true
|
||||
//dBx < 0. 等于0时为临界,返回true
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -359,25 +359,25 @@ double CFoldToolKit::CalcEffectDist(double dH1,double dH2,double dDist,double dH
|
||||
double dMinH = min(dH1,dH2);
|
||||
double dMaxH = max(dH1,dH2);
|
||||
|
||||
//计算P max
|
||||
//计算P max
|
||||
double dPMax = 0.0;
|
||||
if (dMaxH - 30 < 1e-6)
|
||||
{
|
||||
//高度 小于等于30m
|
||||
//高度 小于等于30m
|
||||
dPMax = 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//高度大于30m
|
||||
//高度大于30m
|
||||
dPMax = 5.5 / pow(dMaxH,0.5);
|
||||
if (dMaxH - 120 > 1e-6)
|
||||
{
|
||||
//高度大于 120
|
||||
//高度大于 120
|
||||
dPMax = 5.5 / pow(120,0.5);
|
||||
}
|
||||
}
|
||||
|
||||
// 2012/3/21 for 支持山地坡地计算
|
||||
// 2012/3/21 for 支持山地坡地计算
|
||||
int nCheck = -1;
|
||||
CRegProperty reg(GetRegLocation(), _T("Thunder"));
|
||||
reg.SetTopRootKey(HKEY_CURRENT_USER);
|
||||
@@ -386,7 +386,7 @@ double CFoldToolKit::CalcEffectDist(double dH1,double dH2,double dDist,double dH
|
||||
nCheck = 0;
|
||||
}
|
||||
|
||||
//计算D
|
||||
//计算D
|
||||
if (nCheck)
|
||||
{
|
||||
if(0.5*dMaxH - dMinH < 1e-6)
|
||||
@@ -423,7 +423,7 @@ double CFoldToolKit::CalcFoldY(const Equation& equ,double dX)
|
||||
|
||||
double CFoldToolKit::CalcFoldRx(double dH,double dHx)
|
||||
{
|
||||
//计算保护半径
|
||||
//计算保护半径
|
||||
double dRx = 0.0;
|
||||
double dHTemp = dH;
|
||||
double dP = 0.0;
|
||||
@@ -432,18 +432,18 @@ double CFoldToolKit::CalcFoldRx(double dH,double dHx)
|
||||
return dRx;
|
||||
}
|
||||
|
||||
//计算P
|
||||
//计算P
|
||||
if (dHTemp - 30 < 1e-6)
|
||||
{
|
||||
//高度 小于等于30m
|
||||
//高度 小于等于30m
|
||||
dP = 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//高度大于30m
|
||||
//高度大于30m
|
||||
if (dHTemp - 120 > 1e-6)
|
||||
{
|
||||
//高度大于 120
|
||||
//高度大于 120
|
||||
dHTemp = 120;
|
||||
}
|
||||
dP = 5.5 / pow(dHTemp,0.5);
|
||||
@@ -454,7 +454,7 @@ double CFoldToolKit::CalcFoldRx(double dH,double dHx)
|
||||
else
|
||||
dRx = (1.5*dH- 2*dHx)*dP;
|
||||
|
||||
// 2012/3/23 山地坡地计算时,针高不变,保护范围减小,原范围乘以0.75
|
||||
// 2012/3/23 山地坡地计算时,针高不变,保护范围减小,原范围乘以0.75
|
||||
int nCheck = -1;
|
||||
CRegProperty reg(GetRegLocation(), _T("Thunder"));
|
||||
reg.SetTopRootKey(HKEY_CURRENT_USER);
|
||||
|
||||
Reference in new issue
Block a user