|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "CommonDefines.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CPointSeriesManager;
|
|
|
|
|
|
class CGDFSegment;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ǹ<EFBFBD><C7B9><EFBFBD>CElementLine<6E><65>CElementFill<6C>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>λ
|
|
|
|
|
|
class CPointSeries : public CObject
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
DECLARE_SERIAL(CPointSeries)
|
|
|
|
|
|
CPointSeries(CPointSeriesManager* pSeriesManager=NULL);
|
|
|
|
|
|
~CPointSeries();
|
|
|
|
|
|
//Attributes
|
|
|
|
|
|
private:
|
|
|
|
|
|
POINTSERIESID m_id;
|
|
|
|
|
|
|
|
|
|
|
|
/*ʱ<><CAB1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
ULONGLONG m_ullTimeStamp;
|
|
|
|
|
|
|
|
|
|
|
|
CPointSeriesManager* m_pSeriesManager;
|
|
|
|
|
|
|
|
|
|
|
|
/*ԭʼ<D4AD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
CArray<FACIESPOINT,FACIESPOINT> m_pointarray;
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><>ֵƽ<D6B5><C6BD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>,ȫ<><C8AB>ת<EFBFBD><D7AA>Ϊͼ<CEAA><CDBC><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
CArray<CPoint2D,CPoint2D> m_mappointarray;
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô˵<C3B4><CBB5><EFBFBD><EFBFBD>е<EFBFBD>CGDFSegment */
|
|
|
|
|
|
CTypedPtrArray<CPtrArray,CGDFSegment*> m_referencearray;
|
|
|
|
|
|
//Operations
|
|
|
|
|
|
public:
|
|
|
|
|
|
void BuildMapPointArray();
|
|
|
|
|
|
void Clear();
|
|
|
|
|
|
void CreateID(POINTSERIESID& id);
|
|
|
|
|
|
void IncreaseReference(CGDFSegment* pSegment);
|
|
|
|
|
|
void DecreaseReference(CGDFSegment* pSegment);
|
|
|
|
|
|
|
|
|
|
|
|
POINTSERIESID* GetID();
|
|
|
|
|
|
CPoint2D* GetMapPointArray();
|
|
|
|
|
|
FACIESPOINT* GetPointArray();
|
|
|
|
|
|
|
|
|
|
|
|
int GetPointCount();
|
|
|
|
|
|
void Initialize();
|
|
|
|
|
|
void InsertPoint(int index,CPoint2D point,BYTE smooth);
|
|
|
|
|
|
void InsertPoint(int index,CPoint2D* pointarray,int count,BYTE smooth);
|
|
|
|
|
|
void InsertPoint(int index,FACIESPOINT point);
|
|
|
|
|
|
void InsertPoint(int index,FACIESPOINT* pointarray,int count);
|
|
|
|
|
|
CPoint2D FPtoMP(FACIESPOINT yapoint);
|
|
|
|
|
|
FACIESPOINT MPtoFP(CPoint2D point);
|
|
|
|
|
|
|
|
|
|
|
|
CSize8 FPtoMP(CSize8 ysize);
|
|
|
|
|
|
CSize8 MPtoFP(CSize8 fsize);
|
|
|
|
|
|
BOOL SendInitializedMessage();
|
|
|
|
|
|
BOOL SendInvalidateMessage(int index0,int index1);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>йص<D0B9>Segment<6E><74>Relative<76><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
BOOL SendMovePointMessage(int index0,int index1);
|
|
|
|
|
|
BOOL SendInsertPointMessage(int index0,int index1);
|
|
|
|
|
|
|
|
|
|
|
|
void SetPoint(CPoint2D point);
|
|
|
|
|
|
void SetPoint(CPoint2D point,BYTE smooth);
|
|
|
|
|
|
void SetPoint(int index,CPoint2D point);
|
|
|
|
|
|
void SetPoint(int index,CPoint2D point,BYTE smooth);
|
|
|
|
|
|
void SetPoint(FACIESPOINT point);
|
|
|
|
|
|
void SetPoint(int index,FACIESPOINT point);
|
|
|
|
|
|
void SetPoint(int index,double x,double y);
|
|
|
|
|
|
|
|
|
|
|
|
//void GetPoint(int index,FACIESPOINT& point);
|
|
|
|
|
|
void GetPoint(int index,double& x,double& y);
|
|
|
|
|
|
BOOL GetPoint(int index,CPoint2D& point);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊͼ<CEAA><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
|
void SetPointArray(CPoint2D* pointarray,int count,BYTE smooth);
|
|
|
|
|
|
//<2F><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
|
void SetPointArray(FACIESPOINT* pointarray,int count);
|
|
|
|
|
|
void SetPointAttribute(int index,BYTE byteValue,BYTE byteMask);
|
|
|
|
|
|
BYTE GetPointAttribute(int index,BYTE byteMask);
|
|
|
|
|
|
void SetPointAttribute(int index0,int index1,BYTE byteValue,BYTE byteMask);
|
|
|
|
|
|
void SetSeriesManager(CPointSeriesManager* pSeriesManager);
|
|
|
|
|
|
void Smooth();
|
|
|
|
|
|
|
|
|
|
|
|
void SmoothOneNode(int indexl,int index0,int index1,int index2,int indexr);
|
|
|
|
|
|
void SmoothOneNode(int index);
|
|
|
|
|
|
void SmoothThreeNode(int index);
|
|
|
|
|
|
void UpdateTimeStamp();
|
|
|
|
|
|
|
|
|
|
|
|
friend class CGDFSegment;
|
|
|
|
|
|
friend class CPointSeriesManager;
|
|
|
|
|
|
friend class CPointSeriesCreator;
|
|
|
|
|
|
|
|
|
|
|
|
};
|