You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.7 KiB
C++

#include "stdafx.h"
#include "DrawModel\BaseLib.h"
#include "DrawOperator\DrawLib.h"
#include <string>
#include "FaultStatisticsCreator.h"
#include "../BaseLib/GDfdMap.h"
#include "../DrawerIO/DrawerIO.h"
using namespace std;
extern "C" __declspec(dllexport)
bool CreateFaultStatistic(LPCTSTR inputFile, LPCTSTR resultFile, LPCTSTR statisticFile,
LPCTSTR faultLayer, double pillarStep, double textHeight
, int markColor, int markType) {
CFaultStatisticsCreator faCreator;
if (faCreator.ReadDfdMap(inputFile) == false)
{
return false;
}
// ´ňżŞĘäČëÎÄźţ
CDrawerIO drawerIo;
CXy* pXy = new CXy;
pXy->m_bRealTimeDraw = false;
if (drawerIo.OpenFile(inputFile, pXy) == false) {
delete pXy;
return false;
}
CPtrList* pDataAll = pXy->GetValueList();
POSITION pos = pDataAll->GetHeadPosition();
int nEleType = 0;
COne *pOne;
CMesh* pMesh = nullptr;
bool bSuccess = false;
while (pos)
{
pOne = (COne *)(pDataAll->GetNext(pos));
nEleType = pOne->GetType();
// Íř¸ń
if (nEleType == DOUBLEFOX_MESH)
{
pMesh = (CMesh*)pOne->value;
CGrid* pGrid = pMesh->GetMesh();
faCreator.CreateDfg(pGrid->xnum(), pGrid->ynum(), pGrid->xmin(), pGrid->ymin(), pGrid->dx(), pGrid->dy()
, ((CDimension2D*)pGrid)->u);
bSuccess = true;
break;
}
}
delete pXy;
faCreator.SetOutPaths(resultFile, statisticFile);
faCreator.m_strFltLayer = faultLayer;
//faCreator.m_strSurveyLayer = surveyLayer;
//faCreator.m_iCalcMethod = calByStep ? 0 : 1; // 0=
faCreator.m_pillarStep = (float)pillarStep; //
faCreator.m_bLocalFltDirect = true; //
faCreator.m_clrMark = markColor; //
faCreator.m_iMarkType = markType; //
faCreator.m_TextHeight = textHeight;
return faCreator.Execute();
}