2026-10-04 00:04:20 +08:00
|
|
|
//-----------------------------------------------------------------------------+
|
2026-09-28 15:28:50 +08:00
|
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
2026-10-04 00:04:20 +08:00
|
|
|
// = FileName : TGGeRegionSide 类
|
2026-09-28 15:28:50 +08:00
|
|
|
// = Version : ver2.0
|
|
|
|
|
// = Author : wlw
|
|
|
|
|
// = CreateDate : 2002-09-09
|
2026-10-04 00:04:20 +08:00
|
|
|
// = Description: TGGeRegionSide 声明
|
2026-09-28 15:28:50 +08:00
|
|
|
// = Maintainers:
|
|
|
|
|
//
|
|
|
|
|
//-----------------------------------------------------------------------------+
|
|
|
|
|
#ifndef _TGGEREGIONSIDE_H_
|
|
|
|
|
#define _TGGEREGIONSIDE_H_
|
|
|
|
|
|
|
|
|
|
#ifndef _TGGECURVESEGMENT_H_
|
|
|
|
|
#include "TGGeCurveSegment.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
class TGGeRegion;
|
|
|
|
|
class TSortSideOnVertex;
|
|
|
|
|
|
|
|
|
|
class GEOAPI TGGeRegionSide : public TGGeCurveSegment
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
TGGeRegionSide();
|
|
|
|
|
|
|
|
|
|
TGGeRegionSide(const TGGeCurveSegment &seg);
|
|
|
|
|
|
|
|
|
|
virtual ~TGGeRegionSide();
|
|
|
|
|
|
|
|
|
|
// nSide==0: Left; nSide==1: Right
|
|
|
|
|
int Trival(TSortSideOnVertex *pSpt, int nSide);
|
|
|
|
|
|
|
|
|
|
TGGeRegion* GetLeftRegion() const;
|
|
|
|
|
void SetLeftRegion(TGGeRegion * pRegion);
|
|
|
|
|
|
|
|
|
|
TGGeRegion* GetRighttRegion() const;
|
|
|
|
|
void SetRightRegion(TGGeRegion * pRegion);
|
|
|
|
|
|
|
|
|
|
TCHAR GetCurSide() const;
|
|
|
|
|
void SetCurSide(const TCHAR nCurSide);
|
|
|
|
|
|
|
|
|
|
TCHAR GetBadSide() const;
|
|
|
|
|
void SetBadSide(const TCHAR nBadSide);
|
|
|
|
|
|
|
|
|
|
TSortSideOnVertex* GetStartNode()const;
|
|
|
|
|
void SetStartNode(TSortSideOnVertex* pNode);
|
|
|
|
|
|
|
|
|
|
TSortSideOnVertex* GetEndNode()const;
|
|
|
|
|
void SetEndNode(TSortSideOnVertex* pNode);
|
|
|
|
|
|
|
|
|
|
TGGeRegion * GetCurRegion();
|
|
|
|
|
|
|
|
|
|
public:
|
2026-10-04 00:04:20 +08:00
|
|
|
//全局当前房间
|
2026-09-28 15:28:50 +08:00
|
|
|
static TGGeRegion *g_pCurRegion;
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
// 全局所有边列表
|
2026-09-28 15:28:50 +08:00
|
|
|
static TDPtrList<TGGeRegionSide> *g_pAllWalls;
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
// 左右为相对于曲线发现
|
2026-09-28 15:28:50 +08:00
|
|
|
TGGeRegion *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;
|
|
|
|
|
|
|
|
|
|
TSortSideOnVertex *m_pStartNode, *m_pEndNode;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|