Commit e7a421fe authored by 刘乐's avatar 刘乐

1, 代码改造

parent 15675189
#include "CivAssembly.h"
CivAssembly::CivAssembly()
{
}
CivNode::CivNode()
{
}
CivPipe::CivPipe()
{
}
CivTank::CivTank()
{
}
CivValve::CivValve()
{
}
CivPumps::CivPumps()
{
}
CivReservoirs::CivReservoirs()
{
}
CivEmitters::CivEmitters()
{
}
\ No newline at end of file
#ifndef CIVASSEMBLY_H
#define CIVASSEMBLY_H
#include "CivTypes.h"
class CivAssembly;
class CivNode;
class CivPipe;
class CivTank;
class CivValve;
class CivPumps;
class CivEmitters;
/**
管网基本组件
*/
class CivAssembly
{
public:
CivAssembly();
protected:
};
/**
节点类型
*/
class CivNode: public CivAssembly
{
public:
CivNode();
private:
};
/**
* 管线类型
*/
class CivPipe: public CivAssembly
{
public:
CivPipe();
private:
Str mID; // id号
CivNode* mStartNode = nullptr; // 上点号
CivNode* mStopNode = nullptr; // 本点号
};
/*
水池类型
*/
class CivTank:public CivAssembly
{
public:
CivTank();
};
/*
阀门
*/
class CivValve :public CivAssembly
{
public:
CivValve();
};
/**
水泵
*/
class CivPumps :public CivAssembly
{
public:
CivPumps();
};
/*
水源
*/
class CivReservoirs :public CivAssembly
{
public:
CivReservoirs();
};
/**
EMITTERS将模拟节点定义为扩散器(喷嘴或者孔口)。
*/
class CivEmitters :public CivAssembly
{
public:
CivEmitters();
};
#endif // !CIVASSEMBLY_H
#include "CivComponent.h"
CivNode::CivNode()
{
}
CivPipe::CivPipe()
{
}
\ No newline at end of file
#pragma once
#include "CivTypes.h"
class CivNode;
class CivPipe;
/**
* 节点类型
*/
class CivNode
{
public:
CivNode();
private:
};
/**
* 管线类型
*/
class CivPipe {
public:
CivPipe();
private:
Str mID; // id号
CivNode* mStartNode = nullptr; // 上点号
CivNode* mStopNode = nullptr; // 本点号
};
......@@ -95,22 +95,22 @@ bool CivHydrCalc::hydrSimulation(char* fileName, char* rptFile, char* binOutFile
bool CivHydrCalc::qualitySimulation(char* inpFile, char* rptFile, char* binOutFile)
{
if (!hydrSimulation(inpFile, rptFile, binOutFile))
{
return false;
}
// 运行水质运算需要先进行水力运算,没有直接采用ENSolveH 是为了考虑减压阀的压力曲线设置
// 运行水质运算需要先进行水力运算
int errcode = 0;
// 进行水质分析
ENopenQ();
ENinitQ(1);
t = 0;
tstep = 0;
iTime = 0;
long t(0), tstep(0);
int iTime(0);
int errcode = 0;
do
{
errcode = ENrunQ(&t); // errcode > 100 是错误
......@@ -121,8 +121,7 @@ bool CivHydrCalc::qualitySimulation(char* inpFile, char* rptFile, char* binOutFi
return;
}
HydResultCache::GetInstance()->SetHydNodQualityResultTblAi(iTime);
HydResultCache::GetInstance()->SetHydLinQualityResultTblAi(iTime);
// 存储水质计算结果
ENstepQ(&tstep);
......@@ -180,8 +179,8 @@ bool CivHydrCalc::exportInp(char* fileName)
if (!mDbConn->open())
return false;
bool pattern = mDbConn->createTable(PATTERNTABLE, "public", CivDbConnection::PATTERN_TABLE);
bool cii = mDbConn->createTable(OPTIONTTABLE, "public", CivDbConnection::PARAMETER_TABLE);
bool pattern = mDbConn->createTable(PATTERNTABLE, "public", CivTableTemp::PATTERN_TABLE);
bool cii = mDbConn->createTable(OPTIONTTABLE, "public", CivTableTemp::PARAMETER_TABLE);
// 获取表格
Tables tables = mDbConn->getTables(mNetname);
......
......@@ -58,15 +58,9 @@ private:
*/
void getLinkResult(short time);
/**
*@brief 获取运行过程产生的错误
*/
std::string getLastError() { return mLastError; }
private:
CivDbConnection* mDbConn;
std::string mNetname;
std::string mLastError;
};
This diff is collapsed.
#ifndef _CIVINPEXPOTER_H
#define _CIVINPEXPOTER_H
#include "CivPgConn.h"
#include "CivInp.h"
#include "CivNewInp.h"
/**
* 抽象建造者
*/
class CivAbsBuilder
{
public:
virtual void buildNode() = 0;
virtual void buildPipe() = 0;
virtual void buildTank() = 0;
virtual void buildVavle() = 0;
virtual void buildPump() = 0;
virtual void buildReservoir() = 0;
virtual void buildEmitter() = 0;
virtual CivNewInp* getNewInp() = 0;
};
/**
* 导出inp文件类
*/
class CivInpBuilder:public CivAbsBuilder
{
public:
CivInpBuilder();
CivInpBuilder(CivDbConn* dbConn);
~CivInpBuilder();
// 注册数据库连接
void registDb(CivDbConn* dbConn);
/**
*@brief 导出inp文件
*/
bool exportInp(char* fileName);
/**
*@brief 解析表字段名,按顺序写入
*@table:表
*@inp: inp文件对象
*/
void assemble(StrQuote table, CivInp& inp);
virtual void buildNode();
virtual void buildPipe();
virtual void buildTank() ;
virtual void buildVavle();
virtual void buildPump();
virtual void buildReservoir() ;
virtual void buildEmitter();
virtual CivNewInp* getNewInp();
private:
CivDbConn* mDbConn;
};
#endif // !_CIVINPEXPOTER_H
#include "CivInpExporter.h"
CivInpExporter::CivInpExporter()
{
}
CivInpExporter::~CivInpExporter()
{
}
\ No newline at end of file
#ifndef _CIVINPEXPOTER_H
#define _CIVINPEXPOTER_H
/**
* inpļ
*/
class CivInpExporter
{
public:
CivInpExporter();
~CivInpExporter();
private:
};
#endif // !_CIVINPEXPOTER_H
#ifndef CIVNEWINP_H
#define CIVNEWINP_H
#include "CivAssembly.h"
class CivNewInp
{
public:
CivNewInp();
~CivNewInp();
private:
//
CivNode mNode; // 节点
CivPipe mPipes; // 管线
CivTank mTanks; // 水池
CivValve mValves; // 阀门
CivPumps mPumps; // 水泵
CivEmitters mEmitters; // 喷嘴
};
#endif // !CIVNEWINP_H
......@@ -153,18 +153,19 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\pandaDbManager\CivCommonUtils.cpp" />
<ClCompile Include="CivComponent.cpp" />
<ClCompile Include="CivAssembly.cpp" />
<ClCompile Include="CivHydrCalc.cpp" />
<ClCompile Include="CivHydrFuncInter.cpp" />
<ClCompile Include="CivInp.cpp" />
<ClCompile Include="CivInpExporter.cpp" />
<ClCompile Include="CivInpBuilder.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="CivComponent.h" />
<ClInclude Include="CivAssembly.h" />
<ClInclude Include="CivHydrCalc.h" />
<ClInclude Include="CivHydrFuncInter.h" />
<ClInclude Include="CivInp.h" />
<ClInclude Include="CivInpExporter.h" />
<ClInclude Include="CivInpBuilder.h" />
<ClInclude Include="CivNewInp.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
......
......@@ -21,16 +21,16 @@
<ClCompile Include="CivInp.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="CivComponent.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="CivHydrFuncInter.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\pandaDbManager\CivCommonUtils.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="CivInpExporter.cpp">
<ClCompile Include="CivAssembly.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="CivInpBuilder.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
......@@ -41,13 +41,16 @@
<ClInclude Include="CivInp.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="CivComponent.h">
<ClInclude Include="CivHydrFuncInter.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="CivHydrFuncInter.h">
<ClInclude Include="CivAssembly.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="CivInpBuilder.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="CivInpExporter.h">
<ClInclude Include="CivNewInp.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
......
......@@ -4,10 +4,11 @@
#include "CivDbConn.h"
#include <libpq-fe.h>
#define DBEXPORT __declspec(dllexport)
/**
postgress 数据库
*/
class CivPgConn: public CivDbConn
class DBEXPORT CivPgConn: public CivDbConn
{
public:
CivPgConn(char* uri);
......
......@@ -151,7 +151,8 @@
<PostBuildEvent>
<Command>copy CivDbConnection.h $(OutDir)..\include /y
copy CivTypes.h $(OutDir)..\include /y
</Command>
copy CivPgConn.h $(OutDir)..\include /y
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment