// XWall.h: interface for the XWall class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_XWALL_H__1B22CC82_02C9_47AC_85E0_B6E7CE1D25F9__INCLUDED_) #define AFX_XWALL_H__1B22CC82_02C9_47AC_85E0_B6E7CE1D25F9__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class TELAPI XWall { public: XWall(); XWall(Entity ent); virtual ~XWall(); void SearchAllWallLine(PickSet &ss); BOOL IsArcWall(); Entity GetNextWallLine(XPoint ptPick); XPoly2D m_poly; XPoint m_ptCen, m_ptStart, m_ptEnd; //弧墙 double m_nRadius; //弧墙 double m_nAngle; //直墙 BOOL GetInsEquipPt(XPoint &ptPick, double &nRotate, double nDist=0); protected: Entity m_ent; BOOL m_bFirst; BOOL DoSearch(XPoint pt, PickSet &ss); Entity GetWinFromWall(Entity ent, XPoint pt); Entity GetWinNextWall(Entity entWin, Entity FirstWall, XPoint &ptStart, XPoly2D &xpoly1); BOOL IsEndWall(Entity ent); Entity GetWallFromPt(Entity ent, XPoint pt); BOOL GetWinData(Entity entWin, double &nWallThick, XPointList &lstPt); void AppendTail(XPoint pt); DList m_lstSeg; XPoint m_ptPolyStart, m_ptPolyEnd; XPoint ptFirstTemp; }; #endif // !defined(AFX_XWALL_H__1B22CC82_02C9_47AC_85E0_B6E7CE1D25F9__INCLUDED_)