56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2009, SH Software Co. Ltd.
|
|
// = FileName : XVisibleSegPoly2D
|
|
// = Version : ver2.0
|
|
// = Author : zjq
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: XVisibleSegPoly2D 类声明
|
|
// 具有局部visible特性的poly线;
|
|
// 注:对该类对象的点元素操作,不能使用基类的接口
|
|
// 这和XPoly2d的点得操作一样,确保长度上
|
|
// arBulges=arPoints=arVisble
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
|
|
#ifndef _XVISIBLESEGPOLY2D_H__
|
|
#define _XVISIBLESEGPOLY2D_H__
|
|
|
|
#ifndef _XPOLY2D_H_
|
|
#include "XPoly2D.h"
|
|
#endif
|
|
|
|
class GEOAPI XVisibleSegPoly2D : public XPoly2D
|
|
{
|
|
public:
|
|
|
|
XVisibleSegPoly2D();
|
|
XVisibleSegPoly2D(const XPoly2D & src);
|
|
XVisibleSegPoly2D(const XVisibleSegPoly2D & src);
|
|
|
|
public:
|
|
|
|
void ConvertFrom(const XPoly2D& src,AcDb::Visibility newVal);
|
|
void ConvertFrom(const AcDbPolyline& src,AcDb::Visibility newVal);
|
|
|
|
void SetVisibleAt(int nIndex,AcDb::Visibility newVal);
|
|
void SetVisibleAt(const XPoint &ptFr,const XPoint& pt,const XPoint& ptTo,AcDb::Visibility newVal);
|
|
|
|
AcDb::Visibility GetVisibleAt(int nIndex) const ;
|
|
AcDb::Visibllity GetVisibleAt(const XPoint& pt) const;
|
|
|
|
XVisibleSegPoly2D& operator = (const XVisibleSegPoly2D &src);
|
|
|
|
void AppendVertex(const XPoint &pt,AcDb::Visibility valV = AcDb::kVisible,ads_real dBulge = 0.0);
|
|
void RemoveVertex(int nIndex);
|
|
void InsertVertex(int nAfter,const XPoint& pt,AcDb::Visibility valV = AcDb::kVisible,ads_real dBulge = 0.0);
|
|
|
|
void RemoveAll();
|
|
|
|
protected:
|
|
|
|
DList<int> m_arnVisibility;
|
|
};
|
|
|
|
#endif
|