74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// 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<XRegionSide> *g_pAllWalls;
|
|
|
|
// 左右为相对于曲线发现
|
|
XRegion *m_pLeftRegion, *m_pRightRegion;
|
|
|
|
// Left(0) or Rigth(1)
|
|
TCHAR m_nCurSide;
|
|
|
|
// 不好的边,应当忽略
|
|
TCHAR m_bBadSide;
|
|
|
|
XSortSideOnVertex *m_pStartNode, *m_pEndNode;
|
|
};
|
|
|
|
#endif
|