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

1 month ago
#ifndef TRACKINRESULT_H
#define TRACKINRESULT_H
#pragma once
//////////////////////////////////////////////////////////////////////////////
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// <09><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/////////////////////////////////////////////////////////////////////////////
struct InnerLayerStruct
{
double fThick;
double fTop;
};
class CInTrackDepthSegment;
class AFX_EXT_CLASS CInTrackResult : public CInTrackDepthSegment
{
protected:
void Init();
public:
CInTrackResult();
CInTrackResult(const CRect8& position);
//<2F><><EFBFBD>Խṹ<D4BD><E1B9B9>
struct PropStruct
{
int id;
double value;
};
double m_fValidThick; // <20><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
CString m_strLayer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString m_strResult; // <20><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
CString m_strLitho; // <20><><EFBFBD>Խ<EFBFBD><D4BD>ͽ<EFBFBD><CDBD><EFBFBD>
COLORREF m_fillColor; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
CArray<PropStruct, PropStruct> m_propArr; // <20><><EFBFBD><EFBFBD>ֵ
CArray<InnerLayerStruct,InnerLayerStruct> m_InnerLayerArr;////<2F>в㼯<D0B2><E3BCAF>
CXy* m_pMarkResult; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
CXy* m_pMarkLitho; //<2F><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ָ<EFBFBD><D6B8>
CXy* m_pMarkSymbol; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
// Implementation
protected:
DWORD m_nTrackInResultFlags; //<2F>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD>״̬
//<2F>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>Flags
enum TrackInLayerFlags
{
TrackInResultFlagSymbol = 0x0001, // <20><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>
TrackInResultFlagColorAuto = 0x0002, //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ɫ<EFBFBD>Զ<EFBFBD>
};
public:
virtual void Draw(CXyDC* pDC);
virtual void Serialize(CArchive& ar, const short &ver);
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ֵ
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();
//<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 SetResultName(CString name);
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);
public:
virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack);
virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum);
int m_tSlotType; //<2F><>ȡpcg<63>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
};
#endif