//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XRegionSide 类 // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: XRegionSide 声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _XREGIONSIDE_H_ #define _XREGIONSIDE_H_ #ifndef _XCURVESEGMENT_H_ #include "XCurveSegment.h" #endif class XRegion; class XSortSideOnVertex; class GEOAPI XRegionSide : public XCurveSegment { public: XRegionSide(); XRegionSide(const XCurveSegment &seg); virtual ~XRegionSide(); // nSide==0: Left; nSide==1: Right int Trival(XSortSideOnVertex *pSpt, int nSide); XRegion* GetLeftRegion() const; void SetLeftRegion(XRegion * pRegion); XRegion* GetRighttRegion() const; void SetRightRegion(XRegion * pRegion); TCHAR GetCurSide() const; void SetCurSide(const TCHAR nCurSide); TCHAR GetBadSide() const; void SetBadSide(const TCHAR nBadSide); XSortSideOnVertex* GetStartNode()const; void SetStartNode(XSortSideOnVertex* pNode); XSortSideOnVertex* GetEndNode()const; void SetEndNode(XSortSideOnVertex* pNode); XRegion * GetCurRegion(); public: //全局当前房间 static XRegion *g_pCurRegion; // 全局所有边列表 static DList *g_pAllWalls; // 左右为相对于曲线发现 XRegion *m_pLeftRegion, *m_pRightRegion; // Left(0) or Rigth(1) TCHAR m_nCurSide; // 不好的边,应当忽略 TCHAR m_bBadSide; XSortSideOnVertex *m_pStartNode, *m_pEndNode; }; #endif