|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "DrawModel/BaseFunction.h"
|
|
|
|
|
|
#include "DrawOperator/PublicFunction.h"
|
|
|
|
|
|
#include "DrawOperator/Xy.h"
|
|
|
|
|
|
#include "DrawOperator/One.h"
|
|
|
|
|
|
#include "DrawOperator/TypeDefine.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS GridCalculate
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
GridCalculate();
|
|
|
|
|
|
~GridCalculate();
|
|
|
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
/* ִ<>м<EFBFBD><D0BC><EFBFBD> */
|
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>0,<2C><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>1,<2C><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD> */
|
|
|
|
|
|
/* functionMode: */
|
|
|
|
|
|
/* 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A + <20><><EFBFBD><EFBFBD>B;1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A - <20><><EFBFBD><EFBFBD>B;2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B - <20><><EFBFBD><EFBFBD>A; */
|
|
|
|
|
|
/* 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A * <20><><EFBFBD><EFBFBD>B;4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A / <20><><EFBFBD><EFBFBD>B;5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B / <20><><EFBFBD><EFBFBD>A; */
|
|
|
|
|
|
/* 6<><36>C=MIN(A,B)<29><>A<EFBFBD><41>B<EFBFBD>ǿգ<C7BF><D5A3><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 7<><37>C=MIN(A,B)<29><>A<EFBFBD><41>B<EFBFBD><42>һ<EFBFBD><D2BB><EFBFBD>ǿգ<C7BF><D5A3><EFBFBD>CΪ<43><CEAA>Ч<EFBFBD><D0A7>ֵ<EFBFBD><D6B5>A<EFBFBD><41>Bȫ<42>ǿգ<C7BF><D5A3><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 8<><38>C=MAX(A,B)<29><>A<EFBFBD><41>B<EFBFBD>ǿգ<C7BF><D5A3><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 9<><39>C=MAX(A,B)<29><>A<EFBFBD><41>B<EFBFBD><42>һ<EFBFBD><D2BB><EFBFBD>ǿգ<C7BF><D5A3><EFBFBD>CΪ<43><CEAA>Ч<EFBFBD><D0A7>ֵ<EFBFBD><D6B5>A<EFBFBD><41>Bȫ<42>ǿգ<C7BF><D5A3><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 10<31><30>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<B<><42><EFBFBD><EFBFBD>CΪA<CEAA><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 11<31><31>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<B<><42>AΪ<41><CEAA>ЧֵBΪ<42><CEAA>ʱ<EFBFBD><CAB1>CΪA<CEAA><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 12<31><32>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A>B<><42><EFBFBD><EFBFBD>CΪA<CEAA><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 13<31><33>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A>B<><42>AΪ<41><CEAA>ЧֵBΪ<42><CEAA>ʱ<EFBFBD><CAB1>CΪA<CEAA><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 14<31><34>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41>BΪ<42><CEAA>Чֵʱ,CΪA,<2C><><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 15<31><35>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AΪ<41><CEAA>ЧֵʱCΪA<CEAA><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BΪ<42><CEAA>ЧֵʱCΪB<CEAA><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 16<31><36>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чֵʱ,CΪA<CEAA><41>ͬ<EFBFBD><CDAC>B<EFBFBD><42>ֵ,<2C><><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 17<31><37>C=A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чֵʱ,CΪA<CEAA><41>ͬ<EFBFBD><CDAC>B<EFBFBD><42>ֵ,<2C><><EFBFBD><EFBFBD>A<EFBFBD><41>BΪ<42><CEAA>Чֵʱ,CΪ<43><CEAA>Ч<EFBFBD><D0A7>ֵ,<2C><><EFBFBD><EFBFBD>CΪ<43><CEAA>; */
|
|
|
|
|
|
/* 18<31><38>C=SUM(A,B)<29><>C=A+B<><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA>Чֵ<D0A7><D6B5><EFBFBD><EFBFBD>CΪ<43><CEAA>Чֵ; */
|
|
|
|
|
|
/* 19<31><39>C=DEC(A,B)<29><>C=A-B<><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA>Чֵ<D0A7><D6B5><EFBFBD><EFBFBD>CΪ<43><CEAA>Чֵ; */
|
|
|
|
|
|
/* gridMode: */
|
|
|
|
|
|
/* 1<><31><EFBFBD>롰<EFBFBD><EBA1B0><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD>ͬ; */
|
|
|
|
|
|
/* 2<><32><EFBFBD>롰<EFBFBD><EBA1B0><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD>ͬ; */
|
|
|
|
|
|
/* 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><42>; */
|
|
|
|
|
|
/* 4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>롰<EFBFBD><EBA1B0><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>; */
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
int Caculate(LPCTSTR fileA, LPCTSTR fileB, LPCTSTR fileOut,int outFormat,
|
|
|
|
|
|
double& x0, double& y0, double& dx, double& dy, int& numX, int& numY,
|
|
|
|
|
|
int functionMode, int gridMode=1);
|
|
|
|
|
|
|
|
|
|
|
|
int Play(double& x0, double& y0, double& dx, double& dy, int& numX, int& numY);
|
|
|
|
|
|
|
|
|
|
|
|
int CaculateMesh(CMesh* pMeshA, CMesh* pMeshB, CMesh* pMeshOut, int outFormat,
|
|
|
|
|
|
int functionMode, int gridMode);
|
|
|
|
|
|
//int PlayMesh(CMesh* pMeshOut);
|
|
|
|
|
|
|
|
|
|
|
|
void SetFile(CString fileA, CString fileB, CString fileOut, int outFormat);
|
|
|
|
|
|
void SetFunction(int functionMode, int gridMode);
|
|
|
|
|
|
|
|
|
|
|
|
void GetGridInfor(CString fileA, double& x0, double& y0, double& dx, double& dy, int& numX, int& numY);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
int Play1(CDimension2D* pDfg1, CDimension2D* pDfg2, CDimension2D* pOutDfg);
|
|
|
|
|
|
int Play2(CDimension2D* pDfg1, CDimension2D* pDfg2, CDimension2D* pOutDfg);
|
|
|
|
|
|
double ValueZ(double z1, double z2, int nIdea);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsPointInFault(CPositionList& lstPos1, CXy& xy1, CPositionList& lstPos2, CXy& xy2, double x, double y);
|
|
|
|
|
|
private:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>A<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
CString m_strFile1;
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>B<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
CString m_strFile2;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>A<EFBFBD>Ķϲ<C4B6>
|
|
|
|
|
|
//CString m_strFaultA;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD>Ķϲ<C4B6>
|
|
|
|
|
|
//CString m_strFaultB;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
CString m_strOutput;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
|
int m_nOutFormat;
|
|
|
|
|
|
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>A<EFBFBD><41>X0
|
|
|
|
|
|
//double m_dFile1X0;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>A<EFBFBD><41>Y0
|
|
|
|
|
|
//double m_dFile1Y0;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>A<EFBFBD><41>dx
|
|
|
|
|
|
//double m_dFile1Dx;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>1Dy
|
|
|
|
|
|
//double m_dFile1Dy;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>A<EFBFBD><41>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//int m_nFile1Numx;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>A<EFBFBD><41>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//int m_nFile1Numy;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD><42>X0
|
|
|
|
|
|
//double m_dFile2X0;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD><42>Y0
|
|
|
|
|
|
//double m_dFile2Y0;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD><42>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
|
|
|
|
|
//double m_dFile2Dx;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СY
|
|
|
|
|
|
//double m_dFile2Dy;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD><42>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//int m_nFile2Numx;
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y
|
|
|
|
|
|
//int m_nFile2Numy;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>㷽ʽ
|
|
|
|
|
|
int m_nModeSel = -1;
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>ʽ
|
|
|
|
|
|
int m_nGridNumSel = -1;
|
|
|
|
|
|
|
|
|
|
|
|
double valueNull = -1E301;
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|