|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD> Layer.h
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>࣬<EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>COne<6E><65><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>CXyͳһ<CDB3><D2BB>д<EFBFBD><D0B4>
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2009-10-07
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "..\DrawModel\baseobject.h"
|
|
|
|
|
|
#include ".\xydc.h"
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IDֵ<44><D6B5><EFBFBD><EFBFBD>>=100
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CBaseExtend :
|
|
|
|
|
|
public CBaseObject
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CBaseExtend(void);
|
|
|
|
|
|
virtual ~CBaseExtend(void);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
virtual void Draw(CXyDC& dc);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><>¡<EFBFBD>ö<EFBFBD><C3B6><EFBFBD>*/
|
|
|
|
|
|
virtual CBaseExtend* CreateClone();
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><><EFBFBD><EFBFBD>ΪDML<4D><4C>ʽ */
|
|
|
|
|
|
virtual void WriteDML(CFile &fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><><EFBFBD><EFBFBD>ΪPCG<43><47>ʽ */
|
|
|
|
|
|
virtual void WritePCG(CFile &fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><><EFBFBD><EFBFBD>ƫ<EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD>IJ<DEB8><C4B2><EFBFBD> */
|
|
|
|
|
|
virtual void Transform(CXyDC* pDC, float* matrix, BOOL bUndo);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief typeΪУ<CEAA><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Уλ<D0A3><CEBB><EFBFBD>ĵ<EFBFBD>Уλ<D0A3><CEBB>;pValueΪ<65><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC>CCalibrate2<65><32>CCalibrate4<65><34> */
|
|
|
|
|
|
virtual void Calibrate(int type, void* pValue);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><><EFBFBD><EFBFBD>XY<58><59><EFBFBD><EFBFBD> */
|
|
|
|
|
|
virtual void ExchangeXY(void);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief ת<><D7AA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD> */
|
|
|
|
|
|
virtual void ExchangeXY(CProjection& xyz);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void ScaleProperty(double sx, double sy);
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief mode=0:<3A>ӣ<EFBFBD>1:<3A><><EFBFBD><EFBFBD>2:<3A>ˣ<EFBFBD>3:<3A><> */
|
|
|
|
|
|
virtual void ScaleCoordinate(double sx, double sy, int mode);
|
|
|
|
|
|
|
|
|
|
|
|
virtual CXy* GetParentXY() { return NULL; } //ggff2025
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetParentXY(CXy* pxy) { } //ggff2025
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Draw(CXyDC& dc, void* pHowToView) { };
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG(CFile &fr, const short& ver);
|
|
|
|
|
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>м<EFBFBD><D0BC>ص<EFBFBD><D8B5><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> */
|
|
|
|
|
|
virtual int ReadPCGEx(CFile &fr, const short &ver, void *pXy = nullptr);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>м<EFBFBD><D0BC>ص<EFBFBD><D8B5><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> */
|
|
|
|
|
|
virtual int ReadPCGEx(CKXmlParse& xp, const short &ver, void *pXy = nullptr);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CBaseExtendType
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CBaseExtendType(void) {};
|
|
|
|
|
|
|
|
|
|
|
|
virtual CBaseExtend* CreateExtendObject(int nType) { return NULL; }; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<49>ű<EFBFBD><C5B1><EFBFBD>>=100
|
|
|
|
|
|
virtual int GetExtendType(LPCTSTR lpszKey) {return 0;}; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ID<49>ű<EFBFBD><C5B1><EFBFBD>>=100
|
|
|
|
|
|
virtual CString GetTypeName() { return m_TypeName; };
|
|
|
|
|
|
virtual int GetTypeID() { return m_nType; };
|
|
|
|
|
|
CString m_TypeName; //ggff20250326 add
|
|
|
|
|
|
int m_nType;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CBaseExtendManager
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CBaseExtendManager(void);
|
|
|
|
|
|
~CBaseExtendManager(void);
|
|
|
|
|
|
|
|
|
|
|
|
void AddBaseExtend(CBaseExtendType* pet);
|
|
|
|
|
|
void ClearBaseExtend();
|
|
|
|
|
|
|
|
|
|
|
|
CPtrList m_listExtend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>
|
|
|
|
|
|
|
|
|
|
|
|
CBaseExtend* CreateExtendObject(int nType);
|
|
|
|
|
|
int GetExtendType(LPCTSTR lpszKey);
|
|
|
|
|
|
CString GetTypeNameFromTypeID(int nType);
|
|
|
|
|
|
//BOOL IsExtendType(int nType);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
extern CBaseExtendManager m_baseExtendManager;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" AFX_EXT_API CBaseExtendManager * WINAPI AfxGetBaseExtendManager();
|
|
|
|
|
|
|