70 lines
1.4 KiB
C++
70 lines
1.4 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TGGeRegion 类
|
|
// = Version : ver2.0
|
|
// = Author : wlw
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: TGGeRegion 声明
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _TGGEREGION_H_
|
|
#define _TGGEREGION_H_
|
|
|
|
#ifndef _TGGEREGIONSIDE_H_
|
|
#include "TGGeRegionSide.h"
|
|
#endif
|
|
|
|
#ifndef _TDPTRSTACK_H_
|
|
#include "TDPtrStack.h"
|
|
#endif
|
|
|
|
#ifndef _TGGEPOLY2D_H_
|
|
#include "TGGePoly2D.h"
|
|
#endif
|
|
|
|
#ifndef _TDPTRLIST_H_
|
|
#include "TDPtrList.h"
|
|
#endif
|
|
|
|
#ifndef _TADSGEPOINT3D_H_
|
|
#include "TADSGePoint3d.h"
|
|
#endif
|
|
|
|
class GEOAPI TGGeRegion : public TDPtrStack<TGGeRegionSide>
|
|
{
|
|
public:
|
|
|
|
TGGeRegion();
|
|
|
|
~TGGeRegion();
|
|
|
|
int ShowMe() const;
|
|
|
|
ads_real PathArea() const;
|
|
|
|
int CenterPoly2D(TGGePoly2D &poly) const;
|
|
|
|
//求房间中心线的界限
|
|
int GetExtend(TADSGePoint3d &ptLow, TADSGePoint3d &ptUp) const;
|
|
|
|
BOOL IsEqualTo(const TGGeRegion ®ion) const;
|
|
|
|
BOOL IsAdjacentTo(const TGGeRegion ®ion) const;
|
|
|
|
//nFlag--0, 内; 1--外
|
|
TADSGePoint3d GetPoint(int nFlag, double nDist) const;
|
|
|
|
public:
|
|
|
|
// 全局房间号
|
|
static int g_nGlobalIndex;
|
|
|
|
//全局所有房间的链表
|
|
static TDPtrList<TGGeRegion> *g_pAllSpaces;
|
|
|
|
// 房间号
|
|
int m_nIndex;
|
|
};
|
|
|
|
#endif |