Files
envi-code/SourceCode/Code2026/ThunderProof/FoldToolKit.h
T
2026-09-28 15:28:50 +08:00

59 lines
1006 B
C++

#ifndef __CFoldToolKit_H__
#define __CFoldToolKit_H__
#if _MSC_VER > 1000
#pragma once
#endif
typedef struct Equation
{
double m_dK0;
double m_dK1;
double m_dK2;
double m_dK3;
Equation()
{
m_dK0 = m_dK1 = m_dK2 = m_dK3 = 0.0;
}
void InputK(double dK0,double dK1,double dK2,double dK3)
{
m_dK0 = dK0;
m_dK1 = dK1;
m_dK2 = dK2;
m_dK3 = dK3;
}
}Equation;
class CFoldToolKit
{
public:
static CFoldToolKit* Instance();
static void DisInstance();
BOOL CalcFoldBx(double dH1,double dH2,double dDist,double dHx,FoldCalcResult& FoldRes);
BOOL CalcFoldBx(double dH1,double dH2,double dDist,double dHx,double& dBx);
double CalcFoldY(const Equation& equ,double dX);
double CalcFoldRx(double dH,double dHx);
double CalcEffectDist(double dH1,double dH2,double dDist,double dHx);
protected:
CFoldToolKit(void);
~CFoldToolKit(void);
//ÔØÈ빫ʽ
void IniEquation();
protected:
static CFoldToolKit* m_pInstance;
std::map<CString,Equation> m_Equations; //¹«Ê½²ÎÊýmap
};
#endif