65 lines
1.9 KiB
C++
65 lines
1.9 KiB
C++
/**
|
||
* @file RunTimeContext.h
|
||
* @brief 运行时上下文,在整个工作流执行过程中实现数据的保存获取操作
|
||
* @date 2014-7-15
|
||
* @author: hudongfang
|
||
*/
|
||
|
||
#ifndef PAI_FRAME_RUNTIMECONTEXT_H
|
||
#define PAI_FRAME_RUNTIMECONTEXT_H
|
||
#pragma warning( push ,0)
|
||
#include <string>
|
||
#include <map>
|
||
|
||
#include "WellLogDefines.h"
|
||
//#include "WelllogCurve.h"
|
||
#include "ObjWelllog.h"
|
||
// #include "ObjProject.h"
|
||
#include "ObjWelllogRound.h"
|
||
#pragma warning( pop )
|
||
|
||
using namespace std;
|
||
//using namespace pai::datamodel;
|
||
/*using namespace pai::ios::seis;*/
|
||
|
||
/**
|
||
* 测井算法模块基类,继承CWellLogModule,可得到各种算法模块
|
||
*/
|
||
|
||
|
||
class WELLLOGMODULE_EXPORT CRunTimeContext {
|
||
public:
|
||
CRunTimeContext();
|
||
virtual ~CRunTimeContext();
|
||
|
||
|
||
//获得logCurve缓存容器map
|
||
std::map<std::string,pai::datamodel::CObjWellLog*>& GetLogCurveContainer();
|
||
//检查曲线容器中是否有某曲线,有就返回该曲线;没有就加入容器,然后返回该曲线
|
||
CObjWellLog* GetlogCurve(std::string logFilePath, bool bIsInputCurve);
|
||
|
||
//保存log曲线
|
||
void SaveLogCurve(std::string outFilePath, pai::datamodel::CObjWellLog *pWelllogCurve);
|
||
|
||
//得到深度道 用来显示用
|
||
CObjWelllogRound * GetCurrentWellRound();
|
||
QString GetCurrentWellRoundPath() const { return CurrentWellRoundPath; }
|
||
// CObjOGResult * GetObjOGResult() const { return ObjOGResult; }
|
||
void SetCurrentWellRoundPath(QString val) { CurrentWellRoundPath = val;
|
||
// m_pParentWellRound=dynamic_cast<CObjWelllogRound*>(CPaiObjectHelper::GetSubtree(::GetProject(),CurrentWellRoundPath));
|
||
|
||
}
|
||
private:
|
||
//所有workflow中加载和产生的logCurve的缓存容器
|
||
std::map<std::string,CObjWellLog*> m_LogcurveContainer;
|
||
//当前参与计算的树节点的父亲节点(井次级别)
|
||
CObjWelllogRound * m_pParentWellRound;
|
||
//当前井次
|
||
QString CurrentWellRoundPath;
|
||
// CObjOGResult * ObjOGResult;
|
||
protected:
|
||
|
||
|
||
};
|
||
#endif
|