/** * @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 #include #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& 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(CPaiObjectHelper::GetSubtree(::GetProject(),CurrentWellRoundPath)); } private: //所有workflow中加载和产生的logCurve的缓存容器 std::map m_LogcurveContainer; //当前参与计算的树节点的父亲节点(井次级别) CObjWelllogRound * m_pParentWellRound; //当前井次 QString CurrentWellRoundPath; // CObjOGResult * ObjOGResult; protected: }; #endif