|
|
#ifndef TRACKCOMMONDATARESULT_H
|
|
|
#define TRACKCOMMONDATARESULT_H
|
|
|
#pragma once
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
#include "TrackCommonData.h"
|
|
|
|
|
|
class CInTrackDepthSegment;
|
|
|
class AFX_EXT_CLASS CInTrackCommonData : public CInTrackDepthSegment
|
|
|
{
|
|
|
protected:
|
|
|
void Init();
|
|
|
|
|
|
public:
|
|
|
CInTrackCommonData();
|
|
|
CInTrackCommonData(const CRect8& position);
|
|
|
virtual ~CInTrackCommonData();
|
|
|
CLONE_WELLOBJECT(CInTrackCommonData)
|
|
|
virtual void operator=(CInTrackCommonData& object);
|
|
|
|
|
|
public:
|
|
|
|
|
|
typedef struct DataItem
|
|
|
{
|
|
|
DataItem() { pSymbol = NULL; pInclinedSymbol = NULL; }
|
|
|
~DataItem()
|
|
|
{
|
|
|
if (pInclinedSymbol)
|
|
|
delete pInclinedSymbol;
|
|
|
};
|
|
|
CString value;
|
|
|
CXy* pSymbol;
|
|
|
CString strColName;
|
|
|
CXy* pInclinedSymbol;
|
|
|
CCurveEx leftBorderCurve; //斜井状态下左右的边界曲线
|
|
|
CCurveEx rightBorderCurve;
|
|
|
CPoint2D lcpt, rcpt; //左右两侧边界的间点
|
|
|
CCurveEx polygonCurve;
|
|
|
|
|
|
} DATAITEM;
|
|
|
|
|
|
COLORREF m_BackClr;
|
|
|
|
|
|
std::vector<DATAITEM*> m_DataItems;
|
|
|
// Implementation
|
|
|
protected:
|
|
|
DWORD m_nTrackInFlags; //目前没有用上,20251224
|
|
|
//分层符号Flags
|
|
|
enum TrackInLayerFlags
|
|
|
{
|
|
|
TrackInFlagSymbol = 0x0001, // 绘制符号
|
|
|
TrackInFlagText = 0x0002 //绘制文本
|
|
|
};
|
|
|
|
|
|
public:
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
//开关变量值
|
|
|
virtual void SetShowSymbol(BOOL bFlag);
|
|
|
virtual BOOL IsShowSymbol();
|
|
|
virtual void SetShowText(BOOL bFlag);
|
|
|
virtual BOOL IsShowText();
|
|
|
//获取斜井状态下岩性符号对应的左右井边界,供TrackLithObj computedata(),BuidChildObject()调用 2015-10-19
|
|
|
virtual bool CalcInclinedBorder();
|
|
|
|
|
|
void SetDataItemCount(int count);
|
|
|
protected:
|
|
|
//绘制斜井深度段
|
|
|
void DrawInclined(CXyDC* pDC);
|
|
|
//左右边线中点
|
|
|
dfPoint m_ptL;
|
|
|
dfPoint m_ptR;
|
|
|
CCurveEx m_rotaRectCurve;
|
|
|
|
|
|
void DrawRect(CXyDC *pDC,CRect8 showRect);
|
|
|
void ClearDataItems();
|
|
|
public:
|
|
|
virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack);
|
|
|
virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
public:
|
|
|
virtual void SetObjDataToRow(VARINTARR*pRow);
|
|
|
|
|
|
void SetDrawSymbol();
|
|
|
|
|
|
CInTrackCommonData::DATAITEM* GetDataItemFromItemDef(CCommonDataDef::CCommonDataItem* pItem);
|
|
|
|
|
|
void GetCurveFromBorder(CCurveEx& curve, double sdep, double edep, double ratio); //依靠左右边界曲线,获得一个距离左边界一定比例的深度段曲线。
|
|
|
|
|
|
};
|
|
|
|
|
|
#endif
|