#pragma once
#include "CivSimulResultCache.h"
#include "CivNewInp.h"
#include "CivHydrCompute.h"

/**
  水力模拟计算类
*/
class CivHydrSimulation
{
public:
	explicit CivHydrSimulation(const std::string& uri);
	~CivHydrSimulation();

	/**
	 *@brief 水力模拟
	 */
	bool hdyrSimulation();

	/**
	 *@brief 水质模拟，水龄，化学物质
	 */
	bool qualitySimulation();

	/**
	*@brief 追踪分析，本质仍然式水质分析
	*@param snNode：追踪的节点号
	*@param hours: 小时数
	*/
	bool trackingSimulation(char* snNode, int hours, std::string& jsonResult);

private:
	std::string mUri;
	CivHydrCompute mHydrCompute;
	std::map<int,std::vector<std::string>> mTrackLinkSns;
};
