|
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//ObjectLine.h
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
class CGDFObject;
|
|
|
|
|
|
class CGDFSegment;
|
|
|
|
|
|
|
|
|
|
|
|
#include "ObjectLine.h"
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>߱༭<DFB1><E0BCAD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>λ
|
|
|
|
|
|
class CObjectPolyline : public CGDFObjectLine
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
DECLARE_SERIAL(CObjectPolyline)
|
|
|
|
|
|
CObjectPolyline(CGDFLayer* pLayer=NULL);
|
|
|
|
|
|
virtual ~CObjectPolyline();
|
|
|
|
|
|
//Attributes
|
|
|
|
|
|
protected:
|
|
|
|
|
|
BOOL m_bClose;
|
|
|
|
|
|
|
|
|
|
|
|
int m_iSelectedNode;
|
|
|
|
|
|
//Operations
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
void SetPoint(CArray<FACIESPOINT,FACIESPOINT>& pointarray);
|
|
|
|
|
|
|
|
|
|
|
|
void AddPoint(CArray<FACIESPOINT,FACIESPOINT>& pointarray);
|
|
|
|
|
|
void AddPoint(FACIESPOINT* pointarray,int count);
|
|
|
|
|
|
|
|
|
|
|
|
void InsertPoint(int index,CPoint2D point);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void BuildBorderPointArray();
|
|
|
|
|
|
//<2F><><EFBFBD>Ƶ<EFBFBD>
|
|
|
|
|
|
virtual void BuildControlNodePointArray();
|
|
|
|
|
|
void BuildLineByIndexArray(CArray<POINTINDEX,POINTINDEX>& indexarray);
|
|
|
|
|
|
void CopyLine(int index0,int index1,FACIESSEGMENTDIRECTION direction,CArray<POINTINDEX,POINTINDEX>& indexarray);
|
|
|
|
|
|
virtual void DuplicateAttribute(CGDFObject* pObject);
|
|
|
|
|
|
virtual void DuplicateObject(CGDFObject* pObject);
|
|
|
|
|
|
virtual void DuplicateObject(CGDFObject** ppObject,CGDFLayer* pLayer);
|
|
|
|
|
|
BOOL GetClose();
|
|
|
|
|
|
void SetClose(BOOL bValue);
|
|
|
|
|
|
int GetControlNodeDrawPointCount();
|
|
|
|
|
|
POINT* GetControlNodeDrawPointArray();
|
|
|
|
|
|
CPoint2D* GetControlNodeMapPointArray();
|
|
|
|
|
|
virtual int GetControlNodePointCount();
|
|
|
|
|
|
void IncreasePoint();
|
|
|
|
|
|
void NoSmoothNode(int index);
|
|
|
|
|
|
void ReverseDirection();
|
|
|
|
|
|
void SmoothNode(int index);
|
|
|
|
|
|
void SmoothNode(int index,int count);
|
|
|
|
|
|
void NoSmoothNode(int index,int count);
|
|
|
|
|
|
};
|