|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD> Net.h
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "rect8ex.h"
|
|
|
|
|
|
#include "curveex.h"
|
|
|
|
|
|
#include "..\ProjectionLib\Projection.h"
|
|
|
|
|
|
#include ".\text.h"
|
|
|
|
|
|
#include ".\exchangexyz.h"
|
|
|
|
|
|
#include ".\frame.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CNet : public CRect8
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CNet(void);
|
|
|
|
|
|
virtual ~CNet(void);
|
|
|
|
|
|
|
|
|
|
|
|
int64_t GetId() const;
|
|
|
|
|
|
|
|
|
|
|
|
void SetId(int64_t id);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
double L1,L2,B1,B2;
|
|
|
|
|
|
CCurveEx *CurveL,*CurveB;
|
|
|
|
|
|
double delt;
|
|
|
|
|
|
CPositionList* m_pPosList; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ԫ<EFBFBD><D4AA><EFBFBD>б<EFBFBD>,<2C><><EFBFBD>ݴ<EFBFBD><DDB4>б<EFBFBD><D0B1><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>UNDO\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>
|
|
|
|
|
|
COLORREF m_colCurve;
|
|
|
|
|
|
COLORREF m_colText;
|
|
|
|
|
|
COLORREF m_colFrame;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void DrawCurve(void* pDC, CCurveEx &tc, BOOL bDraw, void* pXY);
|
|
|
|
|
|
void DrawText (void* pDC, CText& text, BOOL bDraw, void* pXY);
|
|
|
|
|
|
|
|
|
|
|
|
void DrawDFM(double x,double y,double wh,double angle,double l,
|
|
|
|
|
|
void *pDC, int side, BOOL bDraw, void* pXY=NULL, BOOL bIsL=TRUE);
|
|
|
|
|
|
void DrawNetCrossPoint (void *pDC, BOOL bDraw, void* pXY=NULL);
|
|
|
|
|
|
void DrawNetPline (void *pDC, BOOL bDraw, void* pXY=NULL);
|
|
|
|
|
|
void DrawScale (void* pDC, BOOL bDraw, void* pXY=NULL); //<2F><><EFBFBD>̶<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
void GetLCurve_M(double bb, double l0); //<2F><><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>γ<EFBFBD><CEB3>Ϊ<EFBFBD><CEAA><EFBFBD>֡<EFBFBD><D6A1><EFBFBD>λ
|
|
|
|
|
|
void GetBCurve_M(double lb, double b0);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void OutFrame_Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
int OutFrame_Read(CFile& fr, const short& ver);
|
|
|
|
|
|
void OutFrame_Write(CFile& fw, const short& ver);
|
|
|
|
|
|
void OutFrame_WriteDML(CFile& fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
int OutFrame_ReadDML(CXmlParse& xp, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
void OutFrame_WritePCG(CFile& fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
int OutFrame_ReadPCG(CXmlParse& xp, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
CRect8 GetEnlargeRangeBL(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CProjection *m_pExchangeXYZ;
|
|
|
|
|
|
CExchangeXYZ m_exchangeXYZ;
|
|
|
|
|
|
|
|
|
|
|
|
double _FrameWidth;
|
|
|
|
|
|
|
|
|
|
|
|
CSize8 m_step; //m_step.cx=steplx,m_step.cy=stepby;//<2F><><EFBFBD><EFBFBD>,γ<><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>,<2C>Է<EFBFBD>Ϊ<EFBFBD><CEAA>λ
|
|
|
|
|
|
double scale; //<2F>̶<EFBFBD>,<2C>Է<EFBFBD>Ϊ<EFBFBD><CEAA>λ
|
|
|
|
|
|
double CrossParameter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
DWORD m_nFlags; //<2F><><EFBFBD>ֱ<EFBFBD>ע<EFBFBD><D7A2>ʽ<EFBFBD><CABD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽ<EFBFBD><CABD><EFBFBD>Ƿ<EFBFBD><C7B7>б߿<D0B1>
|
|
|
|
|
|
CSize8 m_szText; //<2F><><EFBFBD>ֳߴ<D6B3>
|
|
|
|
|
|
|
|
|
|
|
|
CFrame m_outFrame; //<2F><><EFBFBD>߿<EFBFBD>
|
|
|
|
|
|
CFrame* GetOutFrame(void);
|
|
|
|
|
|
CRect8 GetOutFrameRect(void);
|
|
|
|
|
|
CRect8 GetInFrameRect(void);
|
|
|
|
|
|
void SetFrameColor(COLORREF col);
|
|
|
|
|
|
COLORREF GetFrameColor(void);
|
|
|
|
|
|
|
|
|
|
|
|
void ChangeToBL_D(double &x, double &y); //ת<><D7AA>Ϊ<EFBFBD><CEAA>γ<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λΪ<CEBB><CEAA>
|
|
|
|
|
|
void ChangeToBL_DFM(double &x, double &y); //ת<><D7AA>Ϊ<EFBFBD><CEAA>γ<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λΪ<CEBB>ȷ<EFBFBD><C8B7><EFBFBD>
|
|
|
|
|
|
void ChangeToXY_M(double &l,double &b); //ת<><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD>뵥λΪ"<22><>"
|
|
|
|
|
|
void ChangeToXY_DFM(double &l_dfm,double &b_dfm); //ת<><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD>Ϊ"<22>ȷ<EFBFBD><C8B7><EFBFBD>"<22><>ʽ
|
|
|
|
|
|
|
|
|
|
|
|
void ClearCurve(void); //ɾ<><C9BE>CurveL,CurveB<65><42><EFBFBD><EFBFBD>
|
|
|
|
|
|
CRect8 GetRangeBL(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
virtual int Read(CFile& fr, const short& ver);
|
|
|
|
|
|
virtual void Write(CFile& fw, const short& ver);
|
|
|
|
|
|
virtual void WriteDML(CFile& fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
virtual int ReadDML(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void WritePCG(CFile& fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
virtual int ReadPCG(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG2(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
int Read_Old(CFile& fr, const short& ver);
|
|
|
|
|
|
void Write_Old(CFile& fw, const short& ver);
|
|
|
|
|
|
void WriteDML_Old(CFile& fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
int ReadDML_Old(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
void WritePCG_Old(CFile& fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
int ReadPCG_Old(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void GetRange(CRect8& range);
|
|
|
|
|
|
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
|
|
|
|
|
|
virtual int IsInRange(CRect8& range);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void ScaleCoordinate(double sx, double sy, int mode); //mode=0:<3A>ӣ<EFBFBD>1:<3A><><EFBFBD><EFBFBD>2:<3A>ˣ<EFBFBD>3:<3A><>
|
|
|
|
|
|
virtual void ScaleCoor(double xs, double ys, double dx, double dy);
|
|
|
|
|
|
virtual void ScaleProperty(double sx, double sy);
|
|
|
|
|
|
virtual int Dissolution(void* pXY, CPositionList& list); //<2F><><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
|
virtual void Draw(void* pDC);
|
|
|
|
|
|
virtual void Calibrate(int type, void* pValue);
|
|
|
|
|
|
|
|
|
|
|
|
void operator=(CNet& net);
|
|
|
|
|
|
void SetProjection(CProjection* pExchangeXYZ);
|
|
|
|
|
|
void Offset(double dx, double dy);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
|
|
|
|
|
|
bool IsHasInFrame(void);
|
|
|
|
|
|
bool IsHasOutFrame(void);
|
|
|
|
|
|
bool IsHasText(void);
|
|
|
|
|
|
void EnableInFrame(bool bView);
|
|
|
|
|
|
void EnableOutFrame(bool bView);
|
|
|
|
|
|
void EnableText(bool bView);
|
|
|
|
|
|
DWORD GetSideMode(void);
|
|
|
|
|
|
DWORD GetTextMode(void);
|
|
|
|
|
|
DWORD GetDisplayMode(void);
|
|
|
|
|
|
void SetDisplayMode(DWORD nMode);
|
|
|
|
|
|
void SetTextMode(DWORD nMode);
|
|
|
|
|
|
void SetSideMode(DWORD nMode);
|
|
|
|
|
|
bool SetStep(const CSize8& step);
|
|
|
|
|
|
void SetCurveColor(COLORREF color);
|
|
|
|
|
|
void SetTextColor(COLORREF color);
|
|
|
|
|
|
double GetFrameWidth(void);
|
|
|
|
|
|
BOOL ChangeRangeToBL(void);
|
|
|
|
|
|
|
|
|
|
|
|
enum enumGridingStyle
|
|
|
|
|
|
{
|
|
|
|
|
|
markLeft = 0x00000001, //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
markTop = 0x00000002, //<2F>ϱ<EFBFBD>
|
|
|
|
|
|
markRight = 0x00000004, //<2F>ұ<EFBFBD>
|
|
|
|
|
|
markBottom = 0x00000008, //<2F>±<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
markAllSide = (markLeft | markTop | markRight | markBottom), //<2F><><EFBFBD>б<EFBFBD>
|
|
|
|
|
|
markLeftTop = (markLeft | markTop), //<2F><><EFBFBD><EFBFBD>+<2B>ϱ<EFBFBD>
|
|
|
|
|
|
markTopRight = (markTop | markRight), //<2F>ϱ<EFBFBD>+<2B>ұ<EFBFBD>
|
|
|
|
|
|
markRightBottom = (markRight| markBottom), //<2F>ұ<EFBFBD>+<2B>±<EFBFBD>
|
|
|
|
|
|
markBottomLeft = (markLeft | markBottom), //<2F>±<EFBFBD>+<2B><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
showLine = 0x00000010, //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
showCrossPoint = 0x00000020, //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
showNull = 0x00000040, //<2F><>ʾΪ<CABE><CEAA>
|
|
|
|
|
|
//showHorLine = 0x00000080, //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
//showVerLine = 0x00010000, //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
textGeography = 0x00000100, //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
textMath = 0x00000200, //<2F><>ѧ
|
|
|
|
|
|
textGeography1 = 0x00000400, //<2F><><EFBFBD><EFBFBD>1
|
|
|
|
|
|
textGeography2 = 0x00000800, //<2F><><EFBFBD><EFBFBD>2(all)
|
|
|
|
|
|
textMathHor = 0x00020000, //<2F><>ѧˮƽ
|
|
|
|
|
|
textAll = (textGeography|textMath|textGeography1|textGeography2|textMathHor),
|
|
|
|
|
|
|
|
|
|
|
|
showInFrame = 0x00001000, //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD>ڱ߿<DAB1>
|
|
|
|
|
|
showText = 0x00002000, //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>
|
|
|
|
|
|
showOutFrame = 0x00004000 //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>߿<EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
int m_id = -1;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
int OutFrame_ReadPCG(void *pxp, const short &ver);
|
|
|
|
|
|
virtual int ReadPCG(void *pxp, const short &ver);
|
|
|
|
|
|
virtual int ReadPCG2(void *pxp, const short &ver);
|
|
|
|
|
|
int ReadPCG_Old(void *pxp, const short &ver);
|
|
|
|
|
|
};
|