Files
envi-code/SourceCode/Code2026/tg_shs/inc/TArch/TAecSpaceCell.h
T
2026-09-28 15:28:50 +08:00

66 lines
1.8 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TAecSpaceCell 类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TAecSpaceCell 声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TAECSPACECELL_H_
#define _TAECSPACECELL_H_
#ifndef _TAECSPACEWALL_H_
#include "TAecSpaceWall.h"
#endif
#ifndef _TDPTRSTACK_H_
#include "TDPtrStack.h"
#endif
#ifndef _TGGEPOLY2D_H_
#include "TGGePoly2D.h"
#endif
#ifndef _TADSGEPOINT3D_H_
#include "TADSGePoint3d.h"
#endif
class TARCH_EXP TAecSpaceCell : public TDPtrStack<TAecSpaceWall>
{
public:
TAecSpaceCell();
~TAecSpaceCell();
int ShowMe();
ads_real PathArea();
// sg add 091106,解决离坐标原点较远时,积分出错的情况
ads_real PathArea(TADSGePoint3d ptStart);
int GeomCenterPoly2D(TGGePoly2D &poly);
int CenterPoly2D(TGGePoly2D &poly);
// 沿房间内壁(对于室外则沿外壁)
// nCtrlFlag==0不考虑柱子,1--考虑柱子用减法(室内), 2--考虑柱子用加法(室外)
// sg modify 091117,增加是否处理墙体造型的设置,只在nCtrlFlag大于0时有效,只要为解决散水不需要绕墙体造型的问题
// nDealWallPatch==0不考虑墙体造型,1--考虑墙体造型与柱子使用相同的室内、室外方法
// 2--考虑墙体造型,固定室外;3--考虑墙体造型,固定室内
// int InternalPoly2D(TGGePoly2D &poly, int nCtrlFlag);
// int InternalPoly2D(TGGePoly2D &poly, int nCtrlFlag, BOOL bDealWallPatch = TRUE);
int InternalPoly2D(TGGePoly2D &poly, int nCtrlFlag, int nDealWallPatch = 1);
// 求房间中心线的界限
int GetExtend(TADSGePoint3d &ptLow, TADSGePoint3d &ptUp);
void Redraw(int nMode = 1);
public:
// 全局房间号
static int g_nGlobalIndex;
//全局所有房间的链表
static TDPtrList<TAecSpaceCell> *g_pAllSpaces;
int m_nIndex; // 房间号
};
#endif