//-----------------------------------------------------------------------------+ // 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 m_arnVisibility; }; #endif