Files
envi-code/SourceCode/Code2026/inc/AdsXRx/XRegionSide.h
T

73 lines
1.6 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
//-----------------------------------------------------------------------------+
2026-09-28 15:28:50 +08:00
// Copyright (C), 1998-2007, SH Software Co. Ltd.
2026-10-04 00:04:20 +08:00
// = FileName : XRegionSide 类
2026-09-28 15:28:50 +08:00
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
2026-10-04 00:04:20 +08:00
// = Description: XRegionSide 声明
2026-09-28 15:28:50 +08:00
// = 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:
2026-10-04 00:04:20 +08:00
//全局当前房间
2026-09-28 15:28:50 +08:00
static XRegion *g_pCurRegion;
2026-10-04 00:04:20 +08:00
// 全局所有边列表
2026-09-28 15:28:50 +08:00
static DList<XRegionSide> *g_pAllWalls;
2026-10-04 00:04:20 +08:00
// 左右为相对于曲线发现
2026-09-28 15:28:50 +08:00
XRegion *m_pLeftRegion, *m_pRightRegion;
// Left(0) or Rigth(1)
TCHAR m_nCurSide;
2026-10-04 00:04:20 +08:00
// 不好的边,应当忽略
2026-09-28 15:28:50 +08:00
TCHAR m_bBadSide;
XSortSideOnVertex *m_pStartNode, *m_pEndNode;
};
#endif