|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//PointSegment.h
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "CommonDefines.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CSegmentDrawPoint
|
|
|
|
|
|
{//һ<><D2BB>Bezier<65><72><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSegmentDrawPoint(POINT* point=NULL,int count=0,FACIESSEGMENTDIRECTION direction=segmentforward);
|
|
|
|
|
|
~CSegmentDrawPoint();
|
|
|
|
|
|
|
|
|
|
|
|
int m_count;
|
|
|
|
|
|
POINT* m_point;
|
|
|
|
|
|
|
|
|
|
|
|
//m_index0<m_index1<78><31>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> m_index0>m_index1<78><31>ʾΪ<CABE><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
|
FACIESSEGMENTDIRECTION m_direction;
|
|
|
|
|
|
|
|
|
|
|
|
int m_iType;
|
|
|
|
|
|
|
|
|
|
|
|
void SetParameter(POINT* point=NULL,int count=0,FACIESSEGMENTDIRECTION direction=segmentforward);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL GetPoint(int index,POINT& point);
|
|
|
|
|
|
|
|
|
|
|
|
void Reverse();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CSegmentDrawPointArray
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSegmentDrawPointArray();
|
|
|
|
|
|
~CSegmentDrawPointArray();
|
|
|
|
|
|
BOOL m_bClose;
|
|
|
|
|
|
int m_iPointCount;
|
|
|
|
|
|
CArray<CSegmentDrawPoint,CSegmentDrawPoint> m_segmentarray;
|
|
|
|
|
|
public:
|
|
|
|
|
|
BOOL GetClose();
|
|
|
|
|
|
void SetClose(BOOL bValue);
|
|
|
|
|
|
|
|
|
|
|
|
void AddSegment(POINT* point,int count,FACIESSEGMENTDIRECTION direction);
|
|
|
|
|
|
void AddSegment(CSegmentDrawPoint& segment);
|
|
|
|
|
|
void AddSegment(CSegmentDrawPointArray& segmentarray);
|
|
|
|
|
|
|
|
|
|
|
|
void InsertSegment(int index,POINT* point,int count,FACIESSEGMENTDIRECTION direction);
|
|
|
|
|
|
|
|
|
|
|
|
void DeleteSegment(int index);
|
|
|
|
|
|
|
|
|
|
|
|
void SetSegment(int index,POINT* point,int count,FACIESSEGMENTDIRECTION direction);
|
|
|
|
|
|
|
|
|
|
|
|
int GetSegmentCount();
|
|
|
|
|
|
CSegmentDrawPoint* GetSegmentArray();
|
|
|
|
|
|
CSegmentDrawPoint* GetSegment(int index);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL GetPoint(int index,POINT& point);
|
|
|
|
|
|
|
|
|
|
|
|
void Clear();
|
|
|
|
|
|
|
|
|
|
|
|
int GetPointCount();
|
|
|
|
|
|
|
|
|
|
|
|
void operator=(CSegmentDrawPointArray& segmentarray);
|
|
|
|
|
|
|
|
|
|
|
|
void GetPointArray(CArray<POINT,POINT>& pointarray);
|
|
|
|
|
|
|
|
|
|
|
|
void SetSize(int iValue);
|
|
|
|
|
|
|
|
|
|
|
|
void Reverse();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CSegmentMapPoint
|
|
|
|
|
|
{//һ<><D2BB>Bezier<65><72><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSegmentMapPoint(CPoint2D* point=NULL,int count=0,FACIESSEGMENTDIRECTION direction=segmentforward);
|
|
|
|
|
|
~CSegmentMapPoint();
|
|
|
|
|
|
|
|
|
|
|
|
int m_count;
|
|
|
|
|
|
CPoint2D* m_point;
|
|
|
|
|
|
|
|
|
|
|
|
FACIESSEGMENTDIRECTION m_direction;
|
|
|
|
|
|
int m_index1;
|
|
|
|
|
|
|
|
|
|
|
|
int m_iType;
|
|
|
|
|
|
|
|
|
|
|
|
void SetParameter(CPoint2D* point=NULL,int count=0,FACIESSEGMENTDIRECTION direction=segmentforward);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL GetPoint(int index,CPoint2D& point);
|
|
|
|
|
|
|
|
|
|
|
|
void Reverse();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CSegmentMapPointArray
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSegmentMapPointArray();
|
|
|
|
|
|
~CSegmentMapPointArray();
|
|
|
|
|
|
BOOL m_bClose;
|
|
|
|
|
|
int m_iPointCount;
|
|
|
|
|
|
CArray<CSegmentMapPoint,CSegmentMapPoint> m_segmentarray;
|
|
|
|
|
|
public:
|
|
|
|
|
|
BOOL GetClose();
|
|
|
|
|
|
void SetClose(BOOL bValue);
|
|
|
|
|
|
|
|
|
|
|
|
void AddSegment(CPoint2D* point,int count,FACIESSEGMENTDIRECTION direction);
|
|
|
|
|
|
void AddSegment(CSegmentMapPoint& segment);
|
|
|
|
|
|
void AddSegment(CSegmentMapPointArray& segmentarray);
|
|
|
|
|
|
|
|
|
|
|
|
void InsertSegment(int index,CPoint2D* point,int count,FACIESSEGMENTDIRECTION direction);
|
|
|
|
|
|
|
|
|
|
|
|
void DeleteSegment(int index);
|
|
|
|
|
|
|
|
|
|
|
|
void SetSegment(int index,CPoint2D* point,int count,FACIESSEGMENTDIRECTION direction);
|
|
|
|
|
|
|
|
|
|
|
|
int GetSegmentCount();
|
|
|
|
|
|
CSegmentMapPoint* GetSegmentArray();
|
|
|
|
|
|
CSegmentMapPoint* GetSegment(int index);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL GetPoint(int index,CPoint2D& point);
|
|
|
|
|
|
|
|
|
|
|
|
void Clear();
|
|
|
|
|
|
|
|
|
|
|
|
int GetPointCount();
|
|
|
|
|
|
|
|
|
|
|
|
void operator=(CSegmentMapPointArray& segmentarray);
|
|
|
|
|
|
|
|
|
|
|
|
void GetPointArray(CArray<CPoint2D,CPoint2D>& pointarray);
|
|
|
|
|
|
void GetPointArray(CArray<POINT,POINT>& pointarray,double dZoomFactor);
|
|
|
|
|
|
|
|
|
|
|
|
void SetSize(int iValue);
|
|
|
|
|
|
|
|
|
|
|
|
void Reverse();
|
|
|
|
|
|
};
|
|
|
|
|
|
|