|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//YAMap.h
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __YAMAP_H__
|
|
|
|
|
|
#define __YAMAP_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
|
|
#include "CommonDefines.h"
|
|
|
|
|
|
#include "PointSeriesManager.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CGDFLayer;
|
|
|
|
|
|
class CPointSeriesManager;
|
|
|
|
|
|
class CGDFObject;
|
|
|
|
|
|
|
|
|
|
|
|
class CGDFMap : public CObject
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
DECLARE_SERIAL(CGDFMap)
|
|
|
|
|
|
|
|
|
|
|
|
CGDFMap();
|
|
|
|
|
|
~CGDFMap();
|
|
|
|
|
|
|
|
|
|
|
|
enum EDITMODE
|
|
|
|
|
|
{
|
|
|
|
|
|
modeNone,
|
|
|
|
|
|
modeCoordinateCorrect,//<2F><><EFBFBD><EFBFBD>У
|
|
|
|
|
|
modeCreateRelative,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
//Attributes
|
|
|
|
|
|
private:
|
|
|
|
|
|
CTypedPtrArray<CPtrArray,CGDFLayer*> m_layerarray;
|
|
|
|
|
|
CPointSeriesManager m_seriesmanager;
|
|
|
|
|
|
|
|
|
|
|
|
CGDFLayer* m_pSelectedLayer;
|
|
|
|
|
|
BOOL m_bLockSelectedLayer;
|
|
|
|
|
|
|
|
|
|
|
|
EDITMODE m_editmode;
|
|
|
|
|
|
|
|
|
|
|
|
CString m_strName;
|
|
|
|
|
|
CString m_strTypeName;
|
|
|
|
|
|
|
|
|
|
|
|
double m_dXFactor;//x<><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
|
double m_dYFactor;//y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
|
|
|
|
|
|
|
double m_dZoomFactor;
|
|
|
|
|
|
CRect m_drawrect;//here m_rect.bottom<m_rect.top
|
|
|
|
|
|
CRect8 m_maprect;
|
|
|
|
|
|
|
|
|
|
|
|
CPoint2D m_basepoint;//<2F><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
|
|
|
|
|
|
CGDFLayer* m_pMouseLayer;
|
|
|
|
|
|
CGDFObject* m_pMouseObject;
|
|
|
|
|
|
CPoint2D m_mousepointbymap;//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
FACIESPOINT m_mousepointbyuser;//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
double m_dMouseDistance;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bModifyFlag;
|
|
|
|
|
|
BOOL m_bMoveInterrelatedObject;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʱ<>Ƿ<EFBFBD><C7B7>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|
|
|
|
|
BOOL m_bEditable;
|
|
|
|
|
|
ULONGLONG m_ullTimeStamp;
|
|
|
|
|
|
double m_dAngle; //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//Operations
|
|
|
|
|
|
public:
|
|
|
|
|
|
void Clear();
|
|
|
|
|
|
|
|
|
|
|
|
CPointSeriesManager* GetSeriesManager();
|
|
|
|
|
|
CGDFLayer* GetLayer(int index);
|
|
|
|
|
|
CGDFLayer* GetLayer(LPCTSTR strName);
|
|
|
|
|
|
CGDFLayer* NewLayer(LPCTSTR strName);
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|