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.
93 lines
2.1 KiB
C++
93 lines
2.1 KiB
C++
#ifndef TRACKINRESULT_H
|
|
#define TRACKINRESULT_H
|
|
#pragma once
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//主要功能:
|
|
// 解释结果符号类
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
struct InnerLayerStruct
|
|
{
|
|
double fThick;
|
|
double fTop;
|
|
};
|
|
|
|
class CInTrackDepthSegment;
|
|
class AFX_EXT_CLASS CInTrackResult : public CInTrackDepthSegment
|
|
{
|
|
protected:
|
|
void Init();
|
|
|
|
public:
|
|
CInTrackResult();
|
|
CInTrackResult(const CRect8& position);
|
|
|
|
//属性结构体
|
|
struct PropStruct
|
|
{
|
|
int id;
|
|
double value;
|
|
};
|
|
|
|
double m_fValidThick; // 有效厚度
|
|
CString m_strLayer; // 层名称
|
|
CString m_strResult; // 解释结果(流体)
|
|
CString m_strLitho; // 岩性解释结果
|
|
COLORREF m_fillColor; // 填充颜色
|
|
|
|
CArray<PropStruct, PropStruct> m_propArr; // 属性值
|
|
|
|
CArray<InnerLayerStruct,InnerLayerStruct> m_InnerLayerArr;////夹层集合
|
|
|
|
CXy* m_pMarkResult; //结论指针
|
|
CXy* m_pMarkLitho; //岩性符号指针
|
|
CXy* m_pMarkSymbol; //符号指针
|
|
|
|
// Implementation
|
|
protected:
|
|
DWORD m_nTrackInResultFlags; //分层符号开关状态
|
|
//分层符号Flags
|
|
enum TrackInLayerFlags
|
|
{
|
|
TrackInResultFlagSymbol = 0x0001, // 绘制符号
|
|
TrackInResultFlagColorAuto = 0x0002, //是否颜色自动
|
|
};
|
|
|
|
public:
|
|
virtual void Draw(CXyDC* pDC);
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
//开关变量值
|
|
virtual void SetTrackInResultFlags(DWORD flags);
|
|
virtual void SetShowSymbol(BOOL bFlag);
|
|
virtual void SetColorAuto(BOOL bFlag);
|
|
|
|
virtual DWORD GetTrackInResultFlags();
|
|
virtual BOOL IsShowSymbol();
|
|
virtual BOOL IsColorAuto();
|
|
|
|
CString GetMarkSymbol();
|
|
|
|
//获取斜井状态下岩性符号对应的左右井边界,供TrackLithObj computedata(),BuidChildObject()调用 2015-10-19
|
|
virtual bool CalcInclinedBorder();
|
|
|
|
void SetResultName(CString name);
|
|
|
|
protected:
|
|
//绘制斜井深度段
|
|
void DrawInclined(CXyDC* pDC);
|
|
//左右边线中点
|
|
dfPoint m_ptL;
|
|
dfPoint m_ptR;
|
|
CCurveEx m_rotaRectCurve;
|
|
|
|
void DrawRect(CXyDC *pDC,CRect8 showRect);
|
|
|
|
public:
|
|
virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack);
|
|
virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum);
|
|
int m_tSlotType; //读取pcg文件时的临时变量
|
|
};
|
|
|
|
#endif
|