#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 m_Equations; //公式参数map }; #endif