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.
kev/Drawer/SSBase/WellPoleLib/InTrackCommonData.h

92 lines
2.3 KiB
C

1 month ago
#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; //б<><D0B1>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ҵı߽<C4B1><DFBD><EFBFBD><EFBFBD><EFBFBD>
CCurveEx rightBorderCurve;
CPoint2D lcpt, rcpt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ļ<EFBFBD><C4BC><EFBFBD>
CCurveEx polygonCurve;
} DATAITEM;
COLORREF m_BackClr;
std::vector<DATAITEM*> m_DataItems;
// Implementation
protected:
DWORD m_nTrackInFlags; //Ŀǰû<C7B0><C3BB><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>20251224
//<2F>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>Flags
enum TrackInLayerFlags
{
TrackInFlagSymbol = 0x0001, // <20><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>
TrackInFlagText = 0x0002 //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
};
public:
virtual void Draw(CXyDC* pDC);
virtual void Serialize(CArchive& ar, const short &ver);
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ֵ
virtual void SetShowSymbol(BOOL bFlag);
virtual BOOL IsShowSymbol();
virtual void SetShowText(BOOL bFlag);
virtual BOOL IsShowText();
//<2F><>ȡб<C8A1><D0B1>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>Ŷ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE>߽<EFBFBD>,<2C><>TrackLithObj computedata(),BuidChildObject()<29><><EFBFBD><EFBFBD> 2015-10-19
virtual bool CalcInclinedBorder();
void SetDataItemCount(int count);
protected:
//<2F><><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>
void DrawInclined(CXyDC* pDC);
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD>е<EFBFBD>
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); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ߽<D2B1><DFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>ߡ<EFBFBD>
};
#endif